2011-02-24 133 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