JSON取值(key是中文或者数字)方式详解
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
先准备一个json对象用于演示
var json = {'name':'zhangsan', '年龄':23, 404:'你可能迷路了'};
使用JS中with关键字
with(json) {
console.log(name);//输出:zhangsan
console.log(年龄);//输出:23
console.log(404);//输出:404,用这种方法读取key是数字的属性,有问题
}
最常见的传统的读取key
console.log(json.name);//输出:zhangsan
//key是中文也是支持的
console.log(json.年龄);//输出:23
//key是Number类型或者String类型的数字都不能这么读取
console.log(json.404);//报错
通用万能型:json['key']
console.log(json['name']);/输出:zhangsan
console.log(json['年龄']);//输出:23
console.log(json['404']);//输出:你可能迷路了
json[key]
console.log(json[name]);/输出:undefinded
console.log(json[年龄]);//报错
console.log(json[404]);//输出:你可能迷路了
json处理动态key方式
先准备案例对象
var jsonArr = [
{"id": "1", "name": "A1"},
{"id": "2", "name": "A2"},
{"id": "3", "name": "A3"},
{"id": "4", "name": "A4"},
{"id": "5", "name": "A5"}
]
如果数据量不大,偶尔查询一次,使用for…in遍历
如果数据量大,经常使用,建立查找表提升性能
//创建一个查找表函数
function createLookMap(field) {
var map = {};//创建一个空的json对象
for (var i = 0; i < jsonArr.length; i++) {
var value = jsonArr[i];//将数组中的元素作为json对象的值
var key = value[field];//选取一个属性作为新的json对象的key
map[key] = value;
}
return map;
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)