2016-12-24 266 views
0

我有一點問題。 我有這個JSON文件爲什麼我的JSON不起作用

sprecherText = '[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"},{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]'; 

我解析它,我可以用它NN我的腳本。

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

你是如何在你的腳本中加載你的json文件,你正試圖解析? – reza

+0

@reza在頭部我得到這個

+0

由於它是一個不同的文件,我認爲你需要指定文件名。你不能只使用'sprecherText'。 – chackerian

回答

3

你的問題是,你破壞了一個文字行,而又不會讓backslach末\

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' } ] 
+0

啊,好吧,幫助我感謝! –

2

您的例子不工作,由於突破了字面線在這個例子中:

sprecherText = 
'[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"}, 
{"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]'; 

把它變成如下g,並且它會解決這個問題:

var sprecherText = '[{"name" : "Ashwin","text":"Hi","image":"./images/char1.png"}, {"name" : "Abhinandan","text":"Was geht?","image":"./images/char2.png"}]'; 

在你的代碼最後的例子,你是缺少一個右}您的JSON是不是真正有效的,或者您需要刪除第一{,以確保它是有效的。