zoukankan      html  css  js  c++  java
  • js 读取json数据 挖坑

    一般遇到后台给的json数据格式不对 比如key和value都是单引号。 

    但真正的json 的key和value都是双引号,必须双引号才能取值。

    再来一个例子看看

    var test = [{
        "timestamp": 1470963388.561132,
        "content": "{'type': 'fee', 'fee_id': '99c0423a602711e6a021000740984a40', 'recognition_id': '99b25efe602711e6a021000740984a40'}"
    },
        {
            "timestamp": 1470963388.357371,
            "content": "{'type': 'real_time_info'}"
        }
    ]
    

     如果我用console.log(test[0].content) 

    控制台输出结果是

    {'type': 'fee', 'fee_id': '99c0423a602711e6a021000740984a40', 'recognition_id': '99b25efe602711e6a021000740984a40'}
    

      但如果我想取出type中的值呢?

    我写的是console.log(JSON.parse(test[0].content).type);这个已经报错了 为什么呢,因为content里面不是json的数据,无法换成数组对象

    然后用正则匹配 把content.replace(/'/g,""") 把content里面的key和value的单引号换成双引号。这样就可以获取type的值 

    感谢群里的好心人帮我解释下,

     替换一般都用正则,因为 js 自带的替换只替换一个,要用正则才能全部替换。
  • 相关阅读:
    组合数据类型练习
    词法分析
    ORACLE聚合函数细节
    Centos7 最小系统安装Redis
    JQuery版评分控件
    Javascript & JQuery读书笔记
    HTML5&CSS3读书笔记
    Javascript版显示相应图片的详细信息
    MVC2,MVC3,MVC4和MVC5的不同
    Microsoft Office Excel cannot access the file
  • 原文地址:https://www.cnblogs.com/alone2015/p/5763892.html
Copyright © 2011-2022 走看看