javascript-从json键导出一些值作为新的json对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-从json键导出一些值作为新的json对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1641字,纯文字阅读大概需要3分钟。
内容图文
![javascript-从json键导出一些值作为新的json对象](/upload/InfoBanner/zyjiaocheng/670/2031a868ed8a4c229dea219db39547cf.jpg)
陷入“转换”此javascipt代码(从SO)到php的麻烦.
考虑“ AAA =’111’BBB =’222’DD =’333’CC=’dao@toto.fr’”是先前json对象密钥中的值.
1-从一些API帖子收到此json
{
"first_key": "first_value",
"sec_key": "sec_value",
"third_key": "AAA='111' BBB='222' DD='333' CC='dao@toto.fr'",
}
2-希望像这样将Third_key值导出为新的json
{ "AAA": "111", "BBB": "222", "DD": "333", "CC": "dao@toto.fr" }
所以,
<body>
<script type="text/javascript">
var input="AAA='111' BBB='222' DD='333' CC='dao@toto.fr'";
var result={};
input.split("'").forEach(function(value,i,arr){
if(i%2===0) return;
var key=arr[i-1].trim().replace("=","");
result[key]=value;
});
console.log(result);
</script>
</body>
在控制台中得到了这个,大概是我想要的:
Object { AAA: "111", BBB: "222", DD: "333", CC: "dao@toto.fr" }
预期输出:
Object { "AAA": "111", "BBB": "222", "DD": "333", "CC": "dao@toto.fr" }
如何在PHP中获得预期的输出?搜索引擎使我无法使用json_encode / json_decode函数.
解决方法:
在PHP中,您可以使用正则表达式来提取名称和值,然后使用array_combine()将其结果组合到一个关联数组中,然后使用json_encode()将结果数组组合成一个非常简单的方法…
$third_key = "AAA='111' BBB='222' DD='333' CC='dao@toto.fr'";
preg_match_all("/(\w*)='(.*?)'/", $third_key, $matches);
print_r($matches);
echo json_encode(array_combine($matches[1], $matches[2]));
这给…
Array
(
[0] => Array
(
[0] => AAA='111'
[1] => BBB='222'
[2] => DD='333'
[3] => CC='dao@toto.fr'
)
[1] => Array
(
[0] => AAA
[1] => BBB
[2] => DD
[3] => CC
)
[2] => Array
(
[0] => 111
[1] => 222
[2] => 333
[3] => dao@toto.fr
)
)
{"AAA":"111","BBB":"222","DD":"333","CC":"dao@toto.fr"}
print_r($matches);仅在此处显示正则表达式如何将原始字符串拆分为各个部分,以及最后一行可用于创建结束数组.
内容总结
以上是互联网集市为您收集整理的javascript-从json键导出一些值作为新的json对象全部内容,希望文章能够帮你解决javascript-从json键导出一些值作为新的json对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。