js简单遍历解析json字符串
js简单遍历解析json字符串
前两天接触到前台的json字符串遍历拼接于是就翻了一些资料总结了一下遍历取值的方法,如有不对请指正,感谢阅读!!
先上json串
{
“list”: [
{
“password”: “1230”,
“username”: “zhangsan”
},
{
“password”: “1230”,
“username”: “wangwu”
}
],
“list2”: [
{
“password”: “123456”,
“username”: “lisi”
}
],
“line1”: “xasx”,
“line2”: “axaxa”
}
**json数组,嗯,数组,归根结底就是一个数组。
下面提供两种遍历方式**
- in的遍历取值方式,这个真的比较麻烦比较适用于不知道json结构的key情况下遍历取值
window.onload = function(){let str = "{\"list\":[{\"password\":\"1230\",\"username\":\"zhangsan\"},{\"password\":\"1230\",\"username\":\"wangwu\"}],\"list2\":[{\"password\":\"123456\",\"username\":\"lisi\"}],\"line1\":\"xasx\",\"line2\":\"axaxa\"}";let parseJson = JSON.parse(str);for (let strKey in parseJson) { /*遍历外层取到外层键 list line1等等*/console.log("外层键:" + strKey);/*打印外层的键*/let value = parseJson[strKey]; /*如果根据键取到的值还是json类型(此处判断为object类型)咱接着遍历*/if (typeof value =="object"){for (let likey in value){console.log("list的键"+likey);/*此时键为int组键就为0,1*/console.log(value[likey]); /*先打印一下*/var llivalue = value[likey];for (let llikey in llivalue){ /*对里层的json数组进行遍历打印*/console.log("list的里层键"+llikey);console.log("list的里层值"+llivalue[llikey]);}}}else{console.log("外层值"+ parseJson[strKey]);/*如果根据键取到值为普通类型如键line1 line2直接取到值了 就直接打印*/}}console.log("以上为in方式遍历json数组并取对应的值=========================================");}
打印结果:
2. for的遍历打印方式这个比较简单比较适用于知道json结构(key)的遍历取值
window.onload = function(){let str = "{\"list\":[{\"password\":\"1230\",\"username\":\"zhangsan\"},{\"password\":\"1230\",\"username\":\"wangwu\"}],\"list2\":[{\"password\":\"123456\",\"username\":\"lisi\"}],\"line1\":\"xasx\",\"line2\":\"axaxa\"}";let parseJson = JSON.parse(str);/*打印内嵌套json类型的json数据 list,list1等*/for (var i =0;i<parseJson.list.length;i++){ /*list的遍历取值*/console.log(parseJson.list[i]); /*先打印一下具体的json结构*/console.log(parseJson.list[i].username); /*再取具体的值*/console.log(parseJson.list[i].password);} /*list1和list的的遍历取值一样就不写了*//*打印普通的key-value类型数据*/console.log(parseJson.line1);console.log(parseJson.line2);console.log("以上为for方式遍历json==================================");}
打印结果:
总结:
虽然现在很多框架(vue框架等等)直接就能取值了,但是原生的json遍历解析还是要复习下的万一使用了呢,个人倾向于使用第二种for的方式,因为大多数情况下json字符串的结构还是很清晰的!加油,陌生人,越努力越幸运!
js简单遍历解析json字符串相关推荐
- JS/JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解
JS/JavaScript中解析JSON --- JSON.parse().JSON.stringify()以及$.parseJSON()使用详解 现在JSON格式在web开发中非常重要,特别是在使用 ...
- jquery parseJSON()方法解析json字符串
在web项目开发中,前端经常需要接收后端传送来的json数据,解析json字符串,再对页面进行渲染.使用jquery解析json字符串通常需要将json字符串转化为javascript的json对象( ...
- js解析json字符串、对象与json之间的转换
前言 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. js解析json字符串 // JSON字符串 'v ...
- js使用eval解析json(js中使用json)
eval的用法eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句,下面给出eval解析json的示例 先来说eval的用法,内容比较简单,熟悉的可以跳过 eval函数接收一个参 ...
- c#解析json字符串处理清晰易懂的方法
JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...
- cjson构建_[置顶] cJSON库(构建json与解析json字符串)-c语言
一.c语言获取json中的数据. 1.先要有cJOSN库,两个文件分别是cJSON.c和cJSON.h. 2.感性认识 char * json = "{ \"json\" ...
- php 读取 js json格式数据,js读取和解析JSON数据的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- javascript解析json字符串,各种格式分析
javascript解析json字符串,各种格式分析 JS,JSON,EVAL函数说明 JSON.parse(字符串) 方法用于将一个 JSON 字符串转换为对象 JSON.stringify(对象或 ...
- C#解析JSON字符串总结
C#解析JSON字符串总结 JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2 ...
最新文章
- Gartner2014年魔力象限(商业智能和分析平台)
- 自动生成Android界面,面向Android的Web Service界面自动生成技术研究
- 手机1像素线粗_关于移动端开发 1px 线的一些理解和解决办法
- 利用Caffe实现mnist的数据训练
- windows server 2012 R2 standard 评估版过期重启
- 网络监控工具--ntop
- 什么时候用removeUnusedSpriteFrames和removeUnusedTextures
- JAVA实现的支付宝扫描二维码支付
- 应对互联网变局,这 8 件事必须要做。
- 自己开店用什么收银系统好-纳客收银系统
- 读书笔记-人月神话16
- qq四国军旗2.1 beat03 builde017记牌器开发思路(二)
- [博弈论]JZOJ 3339 wyl8899和法法塔的游戏
- W806+ST7735R+tftLCD程序开发
- 超强的苹果官网滚动文字特效实现
- 推荐几个高质量的程序员 B 站视频账号
- 升级 glibc 到2.18版本
- 抖音关闭单身开启恋爱模式设置教程分享
- python3教程合集
- c++开源协程库libgo介绍及使用