JS格式化后端传回的JSON字符串

使用原生JS处理后端传回的JSON字符串

一、JSON字符串格式

在我做的一个项目中,要实现传入省份ID,返回相应的省份所有的市以及ID和编号。

使用JSON传输数据,其中一个返回的JSON字符串如下:

"[{"cityId":346,"cityName":"台北","cityCode":710100},{"cityId":347,"cityName":"高雄","cityCode":710200},{"cityId":348,"cityName":"台中","cityCode":710300},{"cityId":349,"cityName":"台南","cityCode":710400},{"cityId":350,"cityName":"基隆","cityCode":710500},{"cityId":351,"cityName":"新竹","cityCode":710600}]"

 手动格式化之后:

[
    {
        "cityId": 346,
        "cityName": "台北",
        "cityCode": 710100
    },
    {
        "cityId": 347,
        "cityName": "高雄",
        "cityCode": 710200
    },
    {
        "cityId": 348,
        "cityName": "台中",
        "cityCode": 710300
    },
    {
        "cityId": 349,
        "cityName": "台南",
        "cityCode": 710400
    },
    {
        "cityId": 350,
        "cityName": "基隆",
        "cityCode": 710500
    },
    {
        "cityId": 351,
        "cityName": "新竹",
        "cityCode": 710600
    }
]

那么可以看出,这个字符串是由6个对象组成的对象数组转化成的JSON字符串。


二、JS格式化JSON字符串为对象数组

JS测试程序:

function youClick() {
        var str = "[{\"cityId\":346,\"cityName\":\"台北\",\"cityCode\":710100},                        
                    {\"cityId\":347,\"cityName\":\"高雄\",\"cityCode\":710200}, 
                    {\"cityId\":348,\"cityName\":\"台中\",\"cityCode\":710300}, 
                    {\"cityId\":349,\"cityName\":\"台南\",\"cityCode\":710400}, 
                    {\"cityId\":350,\"cityName\":\"基隆\",\"cityCode\":710500}, 
                    {\"cityId\":351,\"cityName\":\"新竹\",\"cityCode\":710600}]";

        //使用eval函数格式化JSON字符串
        var dataArray = eval('(' + str + ')');
        //使用for循环遍历转化后的对象数组,此时i为数组的下标
        for (var i in dataArray){
            //打印出每个对象的cityName属性
            console.log(dataArray[i].cityName);
        }
    }

运行结果:

JS格式化后端传回的JSON字符串_第1张图片


刚开始写博客,如果对您有帮助,希望能给我一个留言,这是对我最大的支持,谢谢。

 

你可能感兴趣的:(前端)