一 JSON.parse特性

  • JSON.parse()就是将JSON字符串解析成字符串描述的JavaScript值或对象(将JSON数据解析为js原生值),例如:
  • JSON.parse('{}');              // {}
    JSON.parse('true');            // true
    JSON.parse('"foo"');           // "foo"
    JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
    JSON.parse('null');            // null

   1.1写法  JSON.parse(text[, reviver])

        text 将要反序列化的字符串

        reviver 可选 函数转换器,用于修改解析生成的原始值,调用时机在parse函数返回之前

   2.2  标签:json规范

  • JSON.parse() json需符合规范,不允许用逗号作为结尾
  • JSON.parse("[1, 2, ]");
    // 异常,逗号结尾
    JSON.parse('{"a" : 1, }');
    // 异常,逗号结尾

    2.3  使用说明

后端返回的数据中有数组或对象的结构,却仍然以字符串的形式返回给前端;

let data = {records: [{"idid": "1","infoinfo": '[{"name":"张","age":60},{"name":"李","age":80}]'},{"idid": "2","infoinfo": '[{"name":"王","age":90},{"name":"郑","age":100}]'}]
}

data.records.forEach(element => {element.infoinfo = JSON.parse(element.info)for(let i = 0, len = element.infoinfo.length; i < len; i++) {console.log(element.infoinfo[i].name) //张 李 王 郑}
})

如果字符串外层使用双引号,内层也使用双引号,可以使用 转义一下;这个大家注意一下

let data = {records: [{"id": "1","info": "[{\"name\":\"张三\",\"age\":60},{\"name\":\"李四\",\"age\":80}]"},{"id": "2","info": “[{\"name\":\"王五\",\"age\":90},{\"name\":\"郑六\",\"age\":90}]”}]
}

2.4参数使用说明

参数说明:

text:必需, 一个有效的 JSON 字符串。
reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

//注意解析顺序从里往外的顺序

  created() {let JSONparse1 = '{"p": 5}';let JSONparse2 = '{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}';let JSONparse11 = JSON.parse(JSONparse1, function (k, v) {if (k === "") {return v;}return v * 2;});let JSONparse22 = JSON.parse(JSONparse2, function (k, v) {console.log(k); // 输出当前属性,最后一个为 ""//'1','2','4','6','5','3',''//注意解析顺序从里往外的顺序return v; // 返回修改的值});console.log(JSONparse11); //{p: 10}console.log(JSONparse22);},

关于序列化和反序列化导致返回顺序不一致问题,这个后端有jar包可以处理,前端可以不用考虑

一文搞懂JSON.stringify和JSON.parse(四)JSON.stringify九大特性_前端小云儿的博客-CSDN博客

一文搞懂JSON.stringify和JSON.parse(五)JSON.parse使用说明相关推荐

  1. 一文搞懂什么是 PostCSS

    一文搞懂什么是 PostCSS 在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演 ...

  2. 一文搞懂如何使用Node.js进行TCP网络通信

    摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...

  3. 一文搞懂 Traefik2.1 的使用

    原文链接:一文搞懂 Traefik2.1 的使用 一文搞懂 Traefik2.1 的使用 核心概念 安装 ACME 中间件 灰度发布 流量复制 TCP 简单 TCP 服务 带 TLS 证书的 TCP ...

  4. 一文搞懂Elasticsearch索引的mapping与setting

    目录 Elasticsearch索引结构 Mapping Setting Elasticsearch索引结构 一个Elasticsearch索引的主要结构如下: {"test_index&q ...

  5. tcga样本编号_数据挖掘专题 | 一文搞懂TCGA数据整理

    原标题:数据挖掘专题 | 一文搞懂TCGA数据整理 本文经授权转载自生信控 我们已经通过前两期数据下载(一)和数据下载(二)介绍了TCGA数据下载方法,并最终得到每个样本一个独立文件夹形式的数据,整理 ...

  6. 一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  7. 一文搞懂 Python 的 import 机制

    一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...

  8. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  9. 一文搞懂 Java 线程中断

    转载自   一文搞懂 Java 线程中断 在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程 ...

最新文章

  1. 用Python读取整个文件
  2. Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)
  3. 如何解决Contacts中的多音字排序错误问题
  4. Hadoop-2.2.0学习之一Hadoop-2.2.0变化简介
  5. Python基本数据类型之列表
  6. 用wubi在一个独立分区硬件装ubuntu12.04产生的无法识别U盘的解决办法
  7. HDU多校5 - 6822 Paperfolding(组合数学)
  8. win10计算机添加右键菜单,win10系统如何对鼠标右键菜单进行手动管理和添加
  9. 从零单排HBase 02:全面认识HBase架构(建议收藏)
  10. python从入门到精通需要多久-python学习从入门到精通要多久
  11. PHP上传的文件权限不足,上传文件的PHP脚本不工作的问题(目录权限问题)php-fpm+nginx...
  12. C陷阱与缺陷 个人阅读笔记
  13. 计算机网络教程第六章应用层课后习题答案
  14. 我平时的一个学习方法
  15. hourglass论文_论文笔记 Stacked Hourglass Networks for Human Pose Estimation
  16. 二级计算机vf里的sql,计算机二级考试vf常用sql语句
  17. Ribbon的简单介绍和使用
  18. Shell脚本实现MySQL主从自动化配置
  19. 微信小程序生命周期(onLoad,onHide,onShow,onReady,onUnload)
  20. 磁场强度切向分量连续性证明

热门文章

  1. 【论文模型讲解】多模态对话 Multimodal Dialogue Response Generation
  2. 大数据面试通关手册|数据仓库面试题(四)
  3. JS--对象数组深拷贝的方法
  4. tracert路由跟踪命令分析判断
  5. clickhouse authentication failed
  6. Hybrid Reward Architecture for Reinforcement Learning
  7. 海量数据下如何使用多线程的导出 Excel ?
  8. 管中窥豹---链表初学习
  9. 如何选择一款适合自己的换IP软件呢?
  10. 如何在html中调用JS文件