【问题标题】:Transform info in json valid [duplicate]json中的转换信息有效[重复]
【发布时间】:2019-12-07 03:54:19
【问题描述】:

将此结果转换为 json 有效。

"{\"name\":\"log\",\"hostname\":\"denis-Latitude-E7470\",\"pid\":1007,\"level\":30,\"conextion\":\"DBA MongDB: \[32m%s\[0m\",\"msg\":\"online\",\"time\":\"2019-12-06T13:50:42.510Z\",\"v\":0}"

【问题讨论】:

标签: javascript node.js json


【解决方案1】:

只需通过JSON.parse() 解析,即可将字符串转换为 JSON 对象。

let jsonString = "{\"name\":\"log\",\"hostname\":\"denis-Latitude-E7470\",\"pid\":1007,\"level\":30,\"conextion\":\"DBA MongDB: \[32m%s\[0m\",\"msg\":\"online\",\"time\":\"2019-12-06T13:50:42.510Z\",\"v\":0}";
console.log(JSON.parse(jsonString));

let brokenJsonString = '{ "key": "<div class="coolCSS">some text</div>" }';
try {
  console.log(JSON.parse(brokenJsonString));
} catch (e) {
  console.log("Exception thrown when parsing.", e.toString());
}

在解析字符串时要小心,因为(正如@Fallenreaper 所指出的)格式错误或无效的 JSON 将导致抛出错误。所以用try...catch 声明包裹你的JSON.parse()(更多关于它here)。

可以使用libraries like this 处理损坏/格式错误,但在绝对需要时使用它们并始终阅读文档。

【讨论】:

  • 如果您要建议使用 JSON.parse,您应该向用户解释将其包装在 try/catch 中,因为如果它是格式错误的 JS,它将杀死控制台。您需要考虑格式错误的 jsonstring。让 parse 完成它的工作,然后捕获错误是最简单最直接的方法。
  • 感谢您的来信!
猜你喜欢
  • 2016-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
相关资源
最近更新 更多