gpt4 book ai didi

javascript - 将美化后的 JSON 转换回正常格式

转载 作者:行者123 更新时间:2023-11-28 08:00:26 26 4
gpt4 key购买 nike

我从 JFiddle 得到了以下代码这帮助我美化了一个json。

        if (!library)
var library = {};

library.json = {
replacer: function(match, pIndent, pKey, pVal, pEnd) {
var key = '<span class=json-key>';
var val = '<span class=json-value>';
var str = '<span class=json-string>';
var r = pIndent || '';
if (pKey)
r = r + key + pKey.replace(/[": ]/g, '') + '</span>: ';
if (pVal)
r = r + (pVal[0] == '"' ? str : val) + pVal + '</span>';
return r + (pEnd || '');
},
prettyPrint: function(obj) {
var jsonLine = /^( *)("[\w]+": )?("[^"]*"|[\w.+-]*)?([,[{])?$/mg;
return JSON.stringify(obj, null, 3)
.replace(/&/g, '&amp;').replace(/\\"/g, '&quot;')
.replace(/</g, '&lt;').replace(/>/g, '&gt;')
.replace(jsonLine, library.json.replacer);
}
};

但在美化后的表单中进行一些小的编辑后,我想将 json 恢复为正常形式。

我在示例 json 上尝试了它

  { active: "<b>something</b>", codes: [48348, 28923, 39080], city: "London" }

下面给出了我所做的。

var prettyJson = $("#prettyJsonContainer").text(); //this will strip all html tags
var pureJson = JSON.stringify(prettyJson);

但是结果是

"{\n   active: \"<b>something</b>\",\n   codes: [\n      48348,\n      28923,\n      39080\n   ],\n   city: \"London\"\n}"

预期的 Json 是

     { active: "<b>something</b>", codes: [48348, 28923, 39080], city: "London" }

请帮忙。

最佳答案

var str = "{\n   active: \"<b>something</b>\",\n   codes: [\n      48348,\n      28923,\n      39080\n   ],\n   city: \"London\"\n}";
str = str.replace(/\\/g, "");
console.log(str);

这将删除\n 并且 JSON 中的所有空格和输出将如下所示:

{
active: "<b>something</b>",
codes: [
48348,
28923,
39080
],
city: "London"
}

JSFiddle:http://jsfiddle.net/rahulrulez/jq1ot5j5/

关于javascript - 将美化后的 JSON 转换回正常格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com