2011-02-24 481 views
0

我是鈦新手,並從MySQL導出解析JSON時遇到困難。 json是有效的,我對許多不成功的試驗感到沮喪。爲了簡化代碼,我把它放在下面。該代碼只是停止並說: [錯誤]腳本錯誤=無法解析JSON字符串appcelerator鈦無法解析JSON

var win = Titanium.UI.currentWindow; 


var hotdealjson = "{'hotdeal':[{'place':'bangkok','date':'4D3N','cost':'$4999up'},{'place':'tokyo','date':'3D2N','cost':'$3799up'}]}"; 


//read json 
var response = JSON.parse(hotdealjson); 
alert(response.hotdeal.length); 

感謝&問候, 理查德

回答

5

的JSON實際上是無效的。單引號應該是雙引號。

一個非常常見的錯誤。

+0

是。 JSONLint是你的朋友。 http://jsonlint.com/ – 2012-01-10 13:05:46

0

這裏對我來說是什麼在起作用:

VAR對象=的eval( '(' + json_text + ')');

這是來自Kitchen Sink,我看到了Javascript文本中提倡的評估風格。

+2

小心.. eval是反序列化json的危險方式。 – neoneye 2011-08-30 09:48:02

0

在使用/解析任何地方之前檢查JSON有效性總是更好!同樣使用JSONLint - The JSON validator

+0

我不明白爲什麼有人需要降低答案,即使它是正確的!乍一看,我發現@ Richard的JSON字符串無效,這就是我建議他使用JSON驗證程序的原因! – Manaday 2013-01-01 15:02:38