javascript - 使用 JSON.stringify 解析 JSON 字符串

标签 javascript jquery json

尝试解析来自 AWS SQS 的 JSON 内容。

首先将字符串转换为 JSON 字符串,然后再转换为 JSON 对象。处理这种情况的正确方法是什么?

<script>

// JSON from SQS 
var x='{"Message":"{\"default\":{\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"}\"}","Timestamp":"2018-03-20T03:21:32.136Z"}';
x1=JSON.stringify(x);
var obj = JSON.parse(x1);
console.log(obj.Message); // undefined
alert(obj["Message"]); // undefined 
</script>

最佳答案

我完全不知道你为什么要尝试 JSON.stringify() 一个字符串。它已经是一个字符串了!

您获得的字符串也不是有效的 JSON,并且需要一些额外的 \\ 。你从哪里得到它?或者是拼写错误。

var x='{"Message":"{\\\"default\\\":{\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"}\\\"}","Timestamp":"2018-03-20T03:21:32.136Z"}';
                    ^__________^_____________________________________________________________^

只需解析您所拥有的 JSON,然后就会意识到 obj.Message 只是更多的 JSON,可能是 JSON.parse()d

// JSON
var x = '{"Message":"{\\\"default\\\":{\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"}\\\"}","Timestamp":"2018-03-20T03:21:32.136Z"}';
//Parse JSON
var obj = JSON.parse(x);
console.log(obj.Message); // string formatted as yet more JSON

关于javascript - 使用 JSON.stringify 解析 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49394176/

相关文章:

javascript - 两个 div 并排占据整个容器区域并处理调整大小事件

jquery - 如何使用 jQuery 从 DIV 中删除高度样式?

javascript - AngularJS 如何访问对象的值

javascript - 好的和干净的方法来检查这个? (JS + HTML)

javascript - 我怎样才能让 jQuery "ready"事件处理程序在所有其他事件处理程序之后触发?

javascript - jQuery 事件传播?

javascript - 如何使用 MVC 中的部分渲染概念在 div 中显示输出

PHP/HTML/JavaScript : Automatically leave page?

Jquery插件有时加载有时不加载

javascript - 使用 groupBy 进行多次 ng-repeat