JavaScript Patterns 3.5 JSON

JSON: JavaScript Object Notation

{"name": "value", "some": [1, 2, 3]} 

The only syntax difference between JSON and the object literal is that property names need to be wrapped in quotes to be valid JSON. In object literals the quotes are required only when the property names are not valid identifiers, for example, they have spaces {"first name": "Dave"}.

In JSON strings you cannot use functions or regular expression literals. 

Working with JSON

JSON.parse()

use the JSON.parse()method, which is part of the language since ES5 and is natively provided by the JavaScript engines in modern browsers.

For older JavaScript engines, you can use the JSON.org library (http://www.json.org/json2.js) to gain access to the  JSON object and its methods.

JavaScript Patterns 3.5 JSON
// an input JSON string

var jstr = ‘{"mykey": "my value"}‘; 

// antipattern

var data = eval(‘(‘ + jstr + ‘)‘); 

// preferred

var data = JSON.parse(jstr);

console.log(data.mykey); // "my value" 
JavaScript Patterns 3.5 JSON

using YUI3

JavaScript Patterns 3.5 JSON
// an input JSON string

var jstr = ‘{"mykey": "my value"}‘; 

// parse the string and turn it into an object

// using a YUI instance

YUI().use(‘json-parse‘, function (Y) {

    var data = Y.JSON.parse(jstr);

    console.log(data.mykey); // "my value"

}); 
JavaScript Patterns 3.5 JSON

using JQuery

JavaScript Patterns 3.5 JSON
// an input JSON string

var jstr = ‘{"mykey": "my value"}‘;

var data = jQuery.parseJSON(jstr);

console.log(data.mykey); // "my value" 
JavaScript Patterns 3.5 JSON

JSON.stringify()

JavaScript Patterns 3.5 JSON
var dog = {

    name: "Fido",

    dob: new Date(),

    legs: [1, 2, 3, 4]

};

var jsonstr = JSON.stringify(dog);

// jsonstr is now:

// {"name":"Fido","dob":"2010-04-11T22:36:22.436Z","legs":[1,2,3,4]}
JavaScript Patterns 3.5 JSON

JavaScript Patterns 3.5 JSON,布布扣,bubuko.com

JavaScript Patterns 3.5 JSON

上一篇:Leetcode: Longest Palindromic Substring. java


下一篇:在Eclipse中编写servlet时出现"The import javax.servlet cannot be resolved" 问题解决办法