JSON基于两种结构

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构

1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 [“java”,“javascript”,“vb”,…],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
3、经过对象、数组2种结构就可以组合成复杂的数据结构了。

JSON格式

{
    "status":"true",
    "msg":"加载数据成功",
    "total":0,
    "data":{
        "420500":[
                [
                    112.073724,
                    30.697902
                ],
                [
                    112.074205,
                    30.697032
                ]
            ],
        "540228":[[
                    112.073736,
                    30.698459
                ],
                [
                    112.073724,
                    30.697902
                ]]
    }
}

解析JSON

function drawRegionMap(dtIds) {
    $.ajax({
        url: "baseData/getPolygonPoints",
        type: "POST",
        data: {districtIds: dtIds },
        dataType: "json",
        success: function (json) {
            // 后台加了@ResponseBody注解,所以拿到的json就是JSON对象
            if (json.status == "true") {
                // JSON 对象
                var data = json.data;
                // 遍历data对象下面的属性节点
                // districtId为键,data[districtId][i]为值
                for (var districtId in data) {
                    //console.log("districtId =" +districtId)
                    // 属性节点的子数组的遍历
                    for (var i = 0; i < data[districtId].length; i++) {
                        //console.log("i=" + i +" data = " + data[districtId][i])
                        drawPolygon(map, data[districtId][i]);
                    }
                }
            } else {
                layer.msg(json.msg);
            }
        },
        //调用出错执行的函数
        error: function () {
            layer.msg("获取区域坐标范围失败");
        }
    });
}
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐