js 如何获取json格式的具体值

上个页面传过来的json对象为(不知道为什么多了很多的“”,无解)

"{"img":["_doc/uniapp_temp/compressed/1543388247982.jpg"],"time":"2018-11-28","title":"的"}"

问题:想要for循环获取img,title,time的具体值,如何操作,,当打印输出i.img时,报undefiend错误,,,请问该怎么获取?

阅读 4k
5 个回答

为了保证出现意想不到的问题 推荐你

假设:
 上个页面为A
 当前页面为B

A页面要给B页面传递json对象的时候,先把他 JSON.stringify(你要传递的JSON数据);这一步看你已经实现了
B页面接收的时候 使用JSON.parse(接收到的Json数据)
例如你想获取到 time 的值 (如果是一个对象 就上上面你给的例子 一个对象)
直接 data.time 不就可以了嘛?
例如你想获取到 time 的值 (如果是一个对象 就上上面你给的例子 数组下很多对象)
假设我们的数据是这样的

let arr = [
    {"img":["_doc/uniapp_temp/compressed/1543388247982.jpg"],"time":"2018-11-28","title":"的"},
    {"img":["_doc/uniapp_temp/compressed/1543388247982.jpg"],"time":"2018-11-28","title":"的"},
    {"img":["_doc/uniapp_temp/compressed/1543388247982.jpg"],"time":"2018-11-28","title":"的"},
];
 arr.map((item)=>{console.log(item.time)})

获取到json串之后用JSON.parse(json格式的值) 解析,然后再遍历

clipboard.png

将那个'json'的开始和结束的引号先删了,留下的才是json对象

你这个格式有问题的
"" 外层双引号换成'' 或者 内部的key value "" 换成''

JSON.parse(str)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题