在我做的一个项目中,要实现传入省份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测试程序:
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);
}
}
运行结果:
刚开始写博客,如果对您有帮助,希望能给我一个留言,这是对我最大的支持,谢谢。