如果对象数组包含单引号字符,如何解析它?
例如,我有:
$example = '{"response":[{"uid":3202935,"first_name":"Martha","last_name":"O'Nill","user_id":3202935},{"uid":4070530,"first_name":"Alex","last_name":"White","user_id":4070530}]}';
单引号似乎打破了数组,使解析变得不可能。
答案 0 :(得分:2)
您可以使用backticks
(``)。它会在编写时生成字符串,并带有双""
和单'
个引号。
var str = `{"response":[{"uid":3202935,"first_name":"Martha","last_name":"O'Nill","user_id":3202935},{"uid":4070530,"first_name":"Alex","last_name":"White","user_id":4070530}]}`;
console.log(str);
var obj = JSON.parse(str);
console.log(obj.response[0].uid);
答案 1 :(得分:0)
它是一个json字符串而不是一个对象。
使用JSON.parse(myJsonSting)
,您将获得'
处理过的对象。
答案 2 :(得分:0)
如果是双引号,Javascript应该忽略单引号,在你的情况下尝试在单引号前添加反斜杠。
答案 3 :(得分:0)
将json字符串解析为object
var example = '{"response":[{"uid":3202935,"first_name":"Martha","last_name":"O'Nill","user_id":3202935},{"uid":4070530,"first_name":"Alex","last_name":"White","user_id":4070530}]}';
var objExample = JSON.parse(example);
将json对象转换为json字符串
var StrExample = JSON.stringify(objExample);