在文本区域中格式化 JSON

Formatting JSON in a textarea

我有一个页面,我想让用户在其中编辑应用程序 - 存储在 JSON 中。它看起来像这样:

{"address":{"House_Number":505,
"Street_Direction":"",
"Street_Name":"Claremont",
"Street_Type":"Street",
"Apt":"15L",
"Burough":"Brooklyn",
"State":"NY",
"Zip":"10451",
"Phone":"718-777-7777"},
"casehead":0,
"adults":[{"Last_Name":"Foo",
"First_Name":"A",
"Sex":"M",
"Date_Of_Birth":"01011980"}],
"children":[]}

我正在使用

进行设置
var pattern = ",", re = new RegExp(pattern, "g");
  casedetails.innerHTML = JSON.stringify(apps[0]).replace(re , ",
");

问题是在我进行更改后,第一次 运行 文本区域不显示换行符 - 即使它们在那里! (如果我 copy/paste 他们出现了)。如果我刷新它会显示换行符。

谁能帮我弄清楚如何在新行上获取 JSON 而无需刷新?我正在使用 IE 9

谢谢!

-汤姆

这应该很简单... 看看这个 jsFiddle 是否符合您的需求

   var yourObject = {"address":{"House_Number":505,
    "Street_Direction":"",
    "Street_Name":"Claremont",
    "Street_Type":"Street",
    "Apt":"15L",
    "Burough":"Brooklyn",
    "State":"NY",
    "Zip":"10451",
    "Phone":"718-777-7777"},
    "casehead":0,
    "adults":[{"Last_Name":"Foo",
    "First_Name":"A",
    "Sex":"M",
    "Date_Of_Birth":"01011980"}],
    "children":[]};

var textedJson = JSON.stringify(yourObject,undefined, 2);
document.getElementById("json-area").value = textedJson

;

P.S。我使用 jQuery 只是为了加快示例的速度,但您应该关注的功能是 JSON.stringify