这可能是一个非常简单的问题,但我找不到任何有效的方法。
我正在尝试获取json结果并将其写入div的内部html以查看它的外观。
我有这样的事情:
$.getJSON("someurlthatgivesmejson",
function(data){
$("#jsonmodel").html(data); // what should this be??
});
});
更新
我能够通过
来显示一些文字$("#jsonmodel").html($.param(data));
但是,它的格式不像浏览器如何显示json结果,就像javascript对象的结构一样。
答案 0 :(得分:4)
您可以使用jquery-json库
`$('#jsonmodel').html($.toJSON(data));`
答案 1 :(得分:2)
取决于数据是什么。如果你想把它写成一个字符串,那么你应该使用$ .get方法来获取它,这样就不会为你转换为js哈希
答案 2 :(得分:1)
您可以在浏览器中原生使用JSON.stringify
,只需传递这样的spacer参数:
JSON.stringify(data, null, 2)
// listener
$(":input").on("keyup change", WriteFormDataToDiv);
// call on load
WriteFormDataToDiv()
function WriteFormDataToDiv() {
var data = $(":input").serializeArray()
var html = JSON.stringify(data, null, 2)
$("#formdata").html(html)
}
pre {
padding: 15px;
background: lightgrey;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input type="text" name="cat" value="frida" />
<input type="text" name="dog" value="buddy" /><br/>
<input type="text" name="food" value="pizza" />
<input type="text" name="dessert" value="ice cream" />
<pre id="formdata"></pre>
答案 3 :(得分:0)
data是一个JavaScript对象,需要一个字符串。
答案 4 :(得分:0)
这是我使用的功能:
function unjsEncode(string){
var newstring = string.replace(/\\x/g,'%');
newstring = newstring.replace(/\\n/g,'');
newstring = newstring.replace(/\\"/g,'"');
newstring = decodeURIComponent(newstring);
return newstring;
}
感谢http://bytes.com/topic/javascript/answers/169509-how-decrypt-garbled-javascript 我希望这会有所帮助!