这方面似乎有一些问题,但我似乎找不到确定的答案。
我已经创建了一个返回完美JSON的WCF JSON Web服务,这已经使用jsonlint.com进行了澄清。 Web服务返回一个数组(List< myresults>),这似乎用方括号格式化JSON,如下所示:
[{ “图像”: “HTTP://www.mywebsite/myimage.jpg”}]
在iPhone平台上解析JSON似乎可以很好地处理反斜杠,但它与方括号不相称 - 我不得不使用这个手动删除它们:
[str stringByReplacingOccurrencesOfString:@“[”withString:@“”]; //(对于每个括号)
但是,我还想使用jquery在HTML网页中使用相同的JSON,看起来我遇到了同样的问题。当然有一种更合适的方法可以处理这些讨厌的方括号吗?
我真的很感激,如果有人可以发布一个简单的方法来处理括号 - 从Web服务或我的javascript代码中删除它们。
谢谢!
如果有帮助,我的Javascript如下:
$。getJSON(urlToMyWebService,function(data){
var items = []; $.each(data, function(key, val) { items.push('<li id="' + key + '">' + val + '</li>'); }); $('<ul/>', { 'class': 'my-new-list', html: items.join('') }).appendTo('body'); });
答案 0 :(得分:3)
方括号只表示一个数组。如你所知,既然你正在返回一个数组,它将有方括号。
你需要在JavaScript / Objective C上有一个数组,就是这样。
答案 1 :(得分:0)
HTML中的第一件事第一件事不能以数字开头,因此key
使用id
作为li
无效。其次,您的JSON列表包含具有Image
属性的对象,因此您可能需要这样:
$.each(data, function(key, val) {
items.push('<li id="li_' + key + '">' + val.Image + '</li>');
});
这里是live demo。