我已经学会了(艰难的)我需要在JSON数据周围添加括号,如下所示:
stuff = eval('(' + data_from_the_wire + ')');
// where data_from_the_wire was, for example {"text": "hello"}
Run Code Online (Sandbox Code Playgroud)
(至少在Firefox 3中).
这背后的原因是什么?我讨厌编写代码而不理解引擎盖后面的内容.
你能告诉我这种特定语法结构的原因吗?
eval('(' + jsonString+ ')')
Run Code Online (Sandbox Code Playgroud)
解析json文本时.克罗克福德说:" 文本必须用parens包装,以避免绊倒JavaScript语法中的歧义." 在这里.那是什么意思?
我们能避免吗?
我正在开发一个接收JSON字符串的GWT应用程序,而且我很难找到每个对象的值.我正在尝试将传入的JSON字符串传输到对象数组中.
这是JSON(来自Firebug响应选项卡),"d"是.NET的东西(Web Service Being Consumed是C#.
{
"d": [
{
"__type": "Event",
"ID": 30,
"Bin": 1,
"Date": "\/Date(1281544749000)\/",
"Desc": "Blue with white stripes.",
"Category": "1"
},
{
"__type": "Event",
"ID": 16,
"Bin": 3,
"Date": "\/Date(1281636239000)\/",
"Desc": "Yellow with pink stripes",
"Category": "1"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将JSON解析为对象,然后将它们插入到数组中.我能够使用Window.alert并获得整个"d"对象来回显.但是,当我尝试访问数组的元素时,GWT调试器就崩溃了.
//My GWT array to receive JSON Array
ArrayList<Item> itemInfo = new ArrayList<Item>();
//Getting response JSON into something I can work with.(THIS FAILS)
JSONArray jsonValue = JSONParser.parse(incomingJsonRespone);
//Just trying to verify I'm getting values …Run Code Online (Sandbox Code Playgroud)