1

我正在使用 textarea 以字符串格式显示 json,为此我使用了这个

JSON.stringify(this, null, '\t')

为了解决 textarea 定位中的一些问题,我决定使用 contenteditable div。如何在 contenteditable div 中显示 json

BusinessUnit : {
    "title": "Business Unit",
    "type": "Text",
    "options": "",
    "required": true,
    "defaultValue": "1",
    "tooltip": "This is a Business-unit",
    "unique": true
}

而不是将其显示为字符串

BusinessUnit : { "title": "Business Unit", "type": "Text", "options": "", "required": true, "defaultValue": "1", "tooltip": "This is a Business-unit", "unique": true }
4

4 回答 4

2

如果你有一个名为 BusinessUnit 的字符串 Json,你可以在下面解析它

                Obj_BusinessUnit= jQuery.parseJSON(BusinessUnit);
            var Unique=Obj_BusinessUnit.unique
            var Title=Obj_BusinessUnit.title

以此类推,其余的属性在 C# 中的 JAvascript 中,您必须使用

                JavaScriptSerializer Js = new JavaScriptSerializer();
            Channel_info=Js.Deserialize<class>(Json string of the class);
            Js.Serialize( an object oa a class to Json String)
于 2013-09-18T09:26:25.170 回答
1

最简单的做法是使用 contenteditable<pre>元素代替<div>,或者添加white-space: pre<div>的 CSS 中。

演示:http: //jsfiddle.net/3DKLW/

于 2013-09-18T23:31:23.290 回答
1

像这样?

json = {
    "title": "Business Unit",
    "type": "Text",
    "options": "",
    "required": true,
    "defaultValue": "1",
    "tooltip": "This is a Business-unit",
    "unique": true
}
for(var key in json){
    $('div').append(key + " : " + json[key] + "<br/>"); 
}

演示

或者你可以这样做

var p = JSON.stringify(json);
$('div').append(p.replace(/,/g,',<br/>').replace(/{/g,"{<br/>").replace(/}/g,"<br/>}"));

演示

于 2013-09-18T09:28:55.410 回答
0

此行为内置于标准 JSON 库中。您需要做的就是:

formatJSON: function(jString) {
    return JSON.stringify(JSON.parse(jString), null, 2);
}

但它不会解开根属性 - 也就是说,您的示例将如下所示(注意前导花括号和 BusinessUnit 周围的引号):

{ 
    "BusinessUnit" : {
        "title": "Business Unit",
        "type": "Text",
        "options": "",
        "required": true,
        "defaultValue": "1",
        "tooltip": "This is a Business-unit",
        "unique": true
    }
}

有关更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

于 2014-08-15T17:38:22.600 回答