我有点问题。 我有这个JSON文件
sprecherText = '[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]';
我解析它,我可以在我的脚本中使用它。
var mydata = $.parseJSON(sprecherText);
但是你看到JSON不好读。所以,我试图打破这样的界限。
sprecherText =
'[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},
{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]';
但是,我得到了这个错误
未定义sprecherText
然后我试着让它变得与众不同
{
"sprecherText":[
{
"name":"Ashwin",
"text":"Hi",
"image":"./images/char1.png"
},
{
"name":"Abhinandan",
"text":"Was geht?",
"image":"./images/char2.png"
}
]
}
我仍然收到错误
未定义sprecherText。
有人知道为什么?
答案 0 :(得分:3)
你的问题是,如果不在最后放置一个后退,你就会打破一个文字行\
var sprecherText =
'[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},\
{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]';
console.log(sprecherText)
'[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]'
现在可行了
JSON.parse(sprecherText)
[ { name: 'Ashwin', text: 'Hi', image: './images/char1.png' },
{ name: 'Abhinandan',
text: 'Was geht?',
image: './images/char2.png' } ]
答案 1 :(得分:2)
由于在此示例中断开了一个文字行,您的示例无效:
sprecherText =
'[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},
{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]';
将其转换为以下内容,它将解决问题:
var sprecherText = '[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"}, {"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]';
在最后的代码示例中,您的JSON实际上并不有效,因为您错过了结束}
,或者您需要删除第一个{
以确保其有效。