如何使用jQuery解析JSON

How to parse JSON using jQuery

本文关键字:JSON 解析 jQuery 何使用      更新时间:2024-07-04

我对JSON和jQuery很陌生。我有一个来自url的JSON文件,格式是:

{
    "united":[
        {"Atlanta","California","Alabama"}
    ]
    "canada":[
        {"Ontario","British Columbia"},
    ]
}

我想做的是,当用户从列表中选择一个国家时,我只想解析出特定于该国家的数组。

到目前为止,我所拥有的是:

function getUrl(country) {
    alert(urlBase + countrylist);
    $.getJSON(urlBase + countrylist, function(data){
       $.each(data, function (index, value) {
           alert(value);
       });
    });
}

值的警报没有被触发,所以它似乎没有进入每个语句内部。

您的JSON似乎无效。我认为JSON的期望输出是:

{
    "united":[
        "Atlanta","California","Alabama"
    ], //this comma is new
    "canada":[
        "Ontario","British Columbia" //a comma was removed from here
    ]
}

以下是使用此结构的演示:http://jsfiddle.net/9sU65/(观察您的控制台以查看其工作情况)

注意,我删除了方括号内的花括号。这现在创建了一个格式正确的城市阵列。还要注意,必须在对象的第一个键和第二个键之间放置逗号。

正确的对象表示法是这样的格式:

{ key1 : 'val-1', key2 : 'val-2' }

如果您有:

{ key1 , key2 }

然后你真的只想创建一个数组,它使用稍微不同的表示法:

[ key1 , key2 ]

顺便说一句,这是我在使用JSON(在Chrome 20中)时遇到的错误:

Uncaught SyntaxError: Unexpected token , 

有很多,但您总是可以找到一个JSON验证器,看看JSON是否有效。每当我使用新的数据源时,无论输出的格式是什么,我都会这样做。下面是一个好的JSON验证器的例子:http://jsonformatter.curiousconcept.com/