首先我们到https://github.com/douglascrockford/JSON-js网站下载json2.js javascript脚本
toJSONString() 函数添加到数组、字符串、布尔值、对象和其他 JavaScript 类型。该标量类型(如数字和布尔值)的 toJSONString() 函数相当简单,因为它们只需返回实例值的字符串表示形式。例如,如果值为 true,Boolean类型的 toJSONString() 函数返回字符串“true”,否则返回“false”。数组和对象类型的 toJSONString() 函数则更有意思。对于 Array 实例,会依次调用每个所包含元素的 toJSONString() 函数,结果会以逗号进行连接从而分隔每个结果。最终输出会包括在方括号内。同样,对于 Object 实例,会枚举每个成员,并调用其 toJSONString() 函数。成员名称及其值的 JSON 表示形式在中间用冒号连接;每个成员名称和值对以逗号分隔,整个输出会包括在大括号内。
toJSONString() 函数的实际结果是,使用单个函数调用可将所有类型转换为其 JSON 格式
<HTML>
<HEAD>
<TITLE>eval example 2</TITLE>
<script type="text/javascript" src="json2.js"></script>
</HEAD>
<BODY>
<script>
var continents = new Array();
continents.push("Europe");
continents.push("Asia");
continents.push("Australia");
continents.push("Antarctica");
continents.push("North America");
continents.push("South America");
continents.push("Africa");
alert("The JSON representation of the continents array is: " +
continents.toJSONString());
</script>
</BODY>
</HTML>
var continents = new Array();
continents.push("Europe");
continents.push("Asia");
continents.push("Australia");
continents.push("Antarctica");
continents.push("North America");
continents.push("South America");
continents.push("Africa");
var json=continents.toJSONString();
var arrayjson = eval(json);
alert(arrayjson[0]);
</script>
eval 函数接受输入有效 JavaScript 代码的字符串,并计算表达式结果。
eval 函数会盲目地对它传递的任一表达式计算结果。不可靠的来源会因此包含具潜在危险的 JavaScript,附带于或混入组成 JSON 数据的文字表示法。在来源不受信任的情况下,强烈建议您使用 parseJSON() 函数
var json=continents.toJSONString();
var arrayjson = json.parseJSON();
alert(arrayjson[0]);
即可