在 jQuery 中序列化为 JSON
IT技术
javascript
jquery
ajax
json
serialization
2021-01-28 00:50:51
6个回答
JSON-js - JavaScript 中的 JSON。
要将对象转换为字符串,请使用JSON.stringify
:
var json_text = JSON.stringify(your_object, null, 2);
要将 JSON 字符串转换为对象,请使用JSON.parse
:
var your_object = JSON.parse(json_text);
最近由John Resig推荐:
...请开始将您使用 JSON 的应用程序迁移到 Crockford 的 json2.js。它与 ECMAScript 5 规范完全兼容,如果存在本机(更快!)实现,它会优雅地降级。
事实上,我昨天刚刚在 jQuery 中进行了更改,它使用 JSON.parse 方法(如果存在),现在它已完全指定。
我倾向于相信他在 JavaScript 问题上所说的话:)
所有现代浏览器(以及许多不古老的旧浏览器)都原生支持JSON 对象。Crockford 的 JSON 库的当前版本只会定义JSON.stringify
,JSON.parse
如果它们尚未定义,则保留任何浏览器本机实现不变。
我已经使用jquery-json 6 个月了,效果很好。使用起来非常简单:
var myObj = {foo: "bar", "baz": "wockaflockafliz"};
$.toJSON(myObj);
// Result: {"foo":"bar","baz":"wockaflockafliz"}
我没用过,但你可能想试试Mark Gibson 写的jQuery 插件
它添加了两个函数:$.toJSON(value)
, $.parseJSON(json_str, [safe])
。
不,序列化为 JSON 的标准方法是使用现有的 JSON 序列化库。如果您不想这样做,那么您将不得不编写自己的序列化方法。
如果您需要有关如何执行此操作的指导,我建议您检查一些可用库的来源。
编辑:我不会站出来说编写自己的串行化方法很糟糕,但是您必须考虑到,如果使用格式良好的 JSON 对您的应用程序很重要,那么您必须权衡“多一个”的开销依赖”,以防止您的自定义方法有一天会遇到您没有预料到的失败情况。该风险是否可以接受由您决定。