Javascript JS对象到JSON字符串?

Javascript JS对象到JSON字符串?,javascript,json,jsp,text,Javascript,Json,Jsp,Text,如何在JavaScript函数中将JavaScript对象转换为JSON字符串?我需要将JSON字符串传递到JSP页面。Quoth Crockford(): 要将JSON文本转换为对象, 您可以使用eval()函数。 eval()调用JavaScript 编译器。因为JSON是一个合适的 JavaScript的子集,编译器 将正确解析文本并 生成一个对象结构。正文 必须用帕伦布包裹以避免 在一个模棱两可的问题上绊倒 JavaScript的语法 var myObject=eval('('+myJS

如何在JavaScript函数中将JavaScript对象转换为JSON字符串?我需要将JSON字符串传递到JSP页面。

Quoth Crockford():

要将JSON文本转换为对象, 您可以使用eval()函数。 eval()调用JavaScript 编译器。因为JSON是一个合适的 JavaScript的子集,编译器 将正确解析文本并 生成一个对象结构。正文 必须用帕伦布包裹以避免 在一个模棱两可的问题上绊倒 JavaScript的语法

var myObject=eval('('+myJSONtext+ ')');

eval函数非常快。 但是,它可以编译和执行 任何JavaScript程序,因此可以 这是安全问题。eval的使用非常简单 当源受信任时指示 而且能干。使用起来更安全 JSON解析器

为了防止这种情况,JSON解析器 应该使用。JSON解析器将 仅识别JSON文本,拒绝 所有脚本。在提供 本机JSON支持,JSON解析器 也比eval快得多。它是 预期本机JSON支持将 将包含在下一个ECMAScript中 标准

var myObject=JSON.parse(myJSONtext, 复苏剂)

然后在本文的其余部分中,他开发了JSON原型

Firefox3和3.5中使用的Gecko版本本机支持JSON(),如果您的项目仅限于最新的基于Gecko的应用程序,这可能会很有用


正如下面所指出的,关于文本生成器(而不是解析器)的有趣部分是at,并随一起介绍

JSON字符串化器则相反,将JavaScript数据结构转换为JSON文本。JSON不支持循环数据结构,因此小心不要给JSON字符串化器提供循环结构

var myJSONText=JSON.stringify(myObject,replacer)


循环数据结构和未有效序列化的对象显然是唯一的大警告。

值得一提的是,Anonymous的link()将为您指明正确的方向,因为该页面还包含有关如何将JavaScript数据结构字符串化为JSON文本的信息:

JSON字符串化器则相反,将JavaScript数据结构转换为JSON文本。
特别是,请查找页面底部指向开源JSON解析器和JSON字符串生成器的链接。

Crockford库中有两个示例方法(由@Anonymous提出):

对象的JSON字符串:

var obj = JSON.parse('{ "property":"value" }');
alert (obj.property);

// value
对象转换为JSON字符串:

var str = JSON.stringify({ "property":"value" })
alert (str);

//{ "property":"value" }

大多数主要框架中都有内置的方法来实现这一点。

位于@Jason T Featheringham Waow
Mr.Json的库
在这里亲自编辑问题:)