无法将json转换为javascript对象/数组

时间:2012-10-29 14:12:17

标签: javascript json

我的页面中有以下行,我想将它转换为javascript数组/对象。但我无法自拔

<script language="javascript" src="json2.js"></script>
<script>
json={"status":"error","message":"there was an error","type":"unclassified"};
alert(json.stringify(json));
</script>

我错过了什么吗?我希望在"error"时获得alert(newvar.error)值,并且当我alert(newvar.message)时我希望得到“有错误”的部分意思是,变量json应该转换成javascript对象。

5 个答案:

答案 0 :(得分:2)

你对JSON是什么感到困惑。它是:

  

一种完全独立于语言但使用的文本格式   C系列程序员熟悉的约定   语言,包括C,C ++,C#,Java,JavaScript,Perl,Python和   很多其他的。这些属性使JSON成为理想的数据交换   语言。

因此:

json={"status":"error","message":"there was an error","type":"unclassified"};

是一个javascript对象。

这是JSON:

"{\"status\":\"error\",\"message\":\"there was an error\",\"type\":\"unclassified\"}"

答案 1 :(得分:1)

这已经是一个对象了。在对其进行字符串化时,您将获得它的JSON表示。此外,本机对象是JSON,而不是json。

答案 2 :(得分:1)

您可能希望将对象转换为JSON表示形式。然后你需要:

JSON.stringify(json)

在Javascript中,变量名称区分大小写。

答案 3 :(得分:0)

  

我希望它将[JSON字符串]转换为javascript数组/对象

为此,您可以使用JSON.parse()。要将其转换回JSON字符串,您可以使用JSON.stringify

注意:您提供的内容应该已经是JavaScript对象。

json={"status":"error","message":"there was an error","type":"unclassified"};
​alert(json.type);​

答案 4 :(得分:0)

json={"status":"error","message":"there was an error","type":"unclassified"}; 是一个JavaScript对象。

如果它以字符串的形式出现,你只需要解析JSON。

如果要将其转换为包含JSON文本的字符串,则只需序列化JavaScript对象(使用JSON.stringify,而不是任意对象上的stringify方法)。