如何将json对象转换为警告框中的字符串?

时间:2012-01-17 13:09:21

标签: javascript jquery json

我想调试我的响应(json)并让它在警告框中显示为字符串。有什么方便的事吗?

var myjson = { Name : "Marko" }; 

alert(myjson.toString()); // ? [Object] !!! 

7 个答案:

答案 0 :(得分:17)

您可以在成功回复中使用以下内容:

alert(JSON.stringify(data));

答案 1 :(得分:10)

最方便的方法是使用浏览器的控制台。

console.log(json);

在大多数浏览器中,您可以非常清楚地了解json内容。

另外,你可以使用for循环创建一个字符串:

var output = '';
for (var entry in json) {
  output += 'key: ' + entry + ' | value: ' + json[entry] + '\n';
}
alert(output);

但这不是递归的。这是一个工作演示:http://jsfiddle.net/n695V/

答案 2 :(得分:4)

您可以使用JSON.stringify。但是,我不知道它是否适用于所有常见的浏览器。

警报(JSON.stringify(JSON对象));

答案 3 :(得分:2)

您可以使用Firebug或Google Chrome内置控制台分析请求的响应文本。

答案 4 :(得分:1)

如果您提供JSON结构,您将得到明确的答案。

例如,如果您具有低于JSON结构。

  var json={ “id”:23,”name”:”marko”};
    for(key in json){
            alert(key+'->'+json[key]);
     }

上述单节点json并不简单。如果JSON结构更深,则需要迭代直到获得值:)

或者。最简单的方法是console.log(json);并且在firebug中看到,你将获得json块内部的内容。

答案 5 :(得分:0)

试试这个

var myJSONText = JSON.stringify(myObject, replacer);

JSON字符串化方向相反,将JavaScript数据结构转换为JSON文本。 JSON不支持循环数据结构,因此请注意不要给JSON字符串化器提供循环结构。 http://www.json.org/js.html

答案 6 :(得分:0)

function JSON2string (jsonobject,prefix) {
  if (!prefix) prefix="";
  if (typeof(jsonobject)=="string") return jsonobject;
  if (typeof(jsonobject)=="number") return jsonobject.toString();
  if (typeof(jsonobject)=="object") {
    var s="Object:\n"
    var newprefix="  "+prefix;
    for (var i in jsonobject) s+=prefix+i+"="+JSON2String(jsonobject[i],newprefix)+"\n";
    return s;
  }
  return "<unhandled>";
}