Dojo库常用资源整理——dojo/json

来源:互联网 发布:数据挖掘和gis的关系 编辑:程序博客网 时间:2024/04/28 21:00

dojo/json

Authors:Kris ZypProject owner:Kris Zypsince:1.7.0

dojo/json is a module for JSON parsing and serialization based on the standard EcmaScript 5’s JSON object.

The module provides two functions, parse() andstringify().

Usage

parse()

The parse() function has a single required argument, the JSON string to be parsed, and an optional second argumentindicating if secure parsing should always be used. For example:

require(["dojo/json"], function(JSON){  JSON.parse('{"hello":"world"}', true);});

If the target platform supports native JSON parsing, dojo/json will always use the native parser (and serializer).

If no native parsing is available, dojo/json will useeval() to parse the JSON. Wheneval() is used, theparse() function’s second argument indicates if secure parsing should be used. Secure parsing will verify that theJSON is safe before evaluating it. Performing this verification is slower than directly evaluating, and secure parsingshould only be used if the JSON is from an unsecure source. The second argument has no effect on browsers with nativeparsing, since native parsing is always secure.

stringify()

The stringify() function takes a JavaScript value and serializes it to JSON. For example, to serialize an object wecould write:

require(["dojo/json"], function(JSON){  var jsonString = JSON.stringify({ hello: "world" });});

The stringify() function takes the same arguments as the standardJSON.stringify() function. This is explainedin more detail here:JSON.stringify()

The second argument is a replacer function, and the third argument allows you to provide a spacer string for prettyformatting.

Examples

RunSourceCollapse

Converts a JSON string into a JavaScript object, modifies it and then outputs the JSON string again.

require(["dojo/json", "dojo/dom", "dojo/on", "dojo/domReady!"],function(JSON, dom, on){  on(dom.byId("convert"), "click", function(){    var origin = '{"hello": "world"}';    var obj = JSON.parse(origin);    obj.hello = "Dojo";    obj.something = "New";    var output = JSON.stringify(obj);    dom.byId("output").innerHTML = output;  });});
<button type="button" id="convert">Convert!</button><p><strong>Original JSON</strong></p><pre>{"hello": "world"}</pre><p><strong>Converted JSON</strong></p><pre id="output"></pre>

See Also

  • dojo/string - String handling enhancements
  • dojo/_base/array - Array handling enhancements



0 0
原创粉丝点击