汇总整理下JSON在JavaScript前后端中的使用方法,包括字符串和JSON对象的互转,JSON数组的遍历,JSON对象key值的获取,JSON内容格式化输出到文件,读取JSON内容文件转化为JSON对象等。
一、JavaScript后端JSON操作方法
1、JavaScript JSON字符串转JSON对象
var testStr = '{"name":"will","age":18,"hobby":"football"}' var jsonObj = JSON.parse(testStr)
2、JS JSON对象转字符串
var testObj = { "name": 'will', "age": '18', "hobby": 'football' } var jsonStr = JSON.stringify(testObj)
3、JavaScript JSON数组的遍历
一种是for循环遍历:
for (var l = 0; l < jsonArray.length; l++) { var jsonItem = jsonArray[l] }
一种是键值遍历:
var testJSArray = [ {"number": 'one'}, {"number": "two"}, {"number": "three"}, {"number": "four"}, {"number": "five"}, {"number": "six"}, ] for(index in testJSArray){ console.log("index:" + index + "; name:" + testJSArray[index].number) }
输出内容如下:
index:0; number:one
index:1; number:two
index:2; number:three
index:3; number:four
index:4; number:five
index:5; number:six
4、JS JSON数组合并
数组合并连接用concat方法,前端和后端都是用concat。
var testJSArray01 = [ {"name": 'one'}, {"name": "two"}, {"name": "three"}, ] var testJSArray02 = [ {"name": "four"}, {"name": "five"}, {"name": "six"}, ] var testJSONMerge = testJSArray01.concat(testJSArray02)
5、JavaScript获取JSON对象key值
var testObj = { "name": 'will', "age": '18', "hobby": 'football' } for (var key in testObj){ console.log("key:" + key + ", value:" + testObj[key]) }
输出内容如下:
key:name, value:will
key:age, value:18
key:hobby, value:football
6. JS格式化输出JSON内容到文件
var writeStream = fs.createWriteStream(filePath); return new Promise(function(resolve, reject) { writeStream.write("写入你需要的字符串内容"); // 换行,如果是字符串中包含换行的字符,写入到.txt文件的时候并不能换行,需要输出换行符才行。 writeStream.write("\n"); // 格式化输出JSON字符串内容, JSONObj是要输出的JSON数据对象 writeStream.write(JSON.stringify(JSONObj, null, "\t") + "\n"); writeStream.end(); writeStream.on('finish', () => { resolve(filePath); }); });
7、JavaScript读取JSON文件内容
不管内容是保存成.json还是.txt,只要是合法的JSON字符串内容都可以。
var filePath = 'xxx/xxx/test.json' var fileContent = fs.readFileSync(filePath).toString(); var fileJson = JSON.parse(fileContent);
二、JavaScript前端JSON操作方法
1、字符串转JSON,angular.fromJson() 等价于JSON.parse()
var processInfo = angular.fromJson('{"process":[]}');
2、JSON转字符串,angular.toJson() 等价于JSON.stringify()
var out = angular.toJson(jsonObj, true);
3、JSON数组遍历
angular.forEach(jsonArray, function(jsonItem) { });
4、判断JSON对象是否含有某个Key值
比如判断jsonObj这个对象是否含有“samples”这个key值
jsonObj.hasOwnProperty("samples")
总结
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]