我目前有一个由数组输入值生成的JSON编码字符串,如下所示 -
"["{value: 97049}","{value: 84866}","{value: 39402}","{value: 30250}","{value: 33363}"]"
我需要将它转换成以下格式:
"[{value: 97049},{value: 84866},{value: 39402},{value: 30250},{value: 33363}]"
感谢您的选择。
我目前有一个由数组输入值生成的JSON编码字符串,如下所示 -
"["{value: 97049}","{value: 84866}","{value: 39402}","{value: 30250}","{value: 33363}"]"
我需要将它转换成以下格式:
"[{value: 97049},{value: 84866},{value: 39402},{value: 30250},{value: 33363}]"
$input = $json_var;
$input = str_replace( '"', '', $input ); // strip em
$input = '"' . $input . '"'; // wrap back around
JS:
var json_array = JSON.parse(json_string);
for (var i = 0; i < json_array.length; i++) {
json_array[i] = JSON.parse(json_array[i];
}
PHP:
$json_array = json_decode($json_string);
$json_array = array_map('json_decode', $json_array);
最好在源头解决这个问题。如果它应该是一个对象数组,请在将其添加到数组之前不要引用每个数组元素。
javascript
,json
,string
,php
- 模糊不清 - Axel AmthorJSON.parse
函数能够成功解析这个输入吗? - Ted Hoppjson_decode
而不是 JSON.parse
即可。 - Barmarvar myQuotedJson = '"["{value: 97049}","{value: 84866}","{value: 39402}","{value: 30250}","{value: 33363}"]"';
var myUnquotedJson = myQuotedJson.replace(/"/, '');
var input = '"["{value: 97049}","{value: 84866}","{value: 39402}","{value: 30250}","{value: 33363}"]"';
output = '"' + input.replace('"','') + '"';
//Alerts your output
alert(output );
console.log()
显示的内容。它只是在字符串周围添加引号,而不像在代码中使用字符串字面量时需要转义嵌入的引号。 - Barmar