日期:2014-05-16  浏览次数:20403 次

请教js 读json文件的方法
对于格式如:{result:[{"name":"aa"},{"name":"bb"}]}这样的格式,我这样读可以

$.getJSON("basic.json", function(data){  
                     $.each(data.result, function(i,item){
        var list = new Array();
        list.push(item.name);

                 });

那么请问这样格式的json文件该怎么读呢:
{result:[{"可变的字符串":["aa"]},{"可变的字符串":["bb"]}]}

------解决方案--------------------
引用:
引用:{result:[{"可变的字符串":["aa"]},{"可变的字符串":["bb"]}]}

第一个大括号是你随手写的,还是你的json文件本来就是那样的。
文件里有的,最外面是个大括号


#2是说你内容错了,是英文状态下的{,你贴出来的是全角状态的{了


<script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script>
<script>
    var data = { result: [{ "可变的字符串": ["aa"] }, { "可变的字符串": ["bb"]}] };
    var list = new Array();
    $.each(data.result, function (i, item) {
        for (attr in item)
            list.push(item[attr][0]);

    });

    alert(list);
</script>

------解决方案--------------------

for(var key in item){
    list.push(item[key]);
}

虽然这样可以..不过这是无意义的..
服务端跟你通信,肯定应该告诉你每个属性的意义。因为我们要根据不同的属性决定怎么展示。
而不是说,返回啥属性,都同样的填充。