Home  >  Article  >  Web Front-end  >  Detailed explanation of how js/jquery parses json and array formats_javascript skills

Detailed explanation of how js/jquery parses json and array formats_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:04:491036browse

Before parsing, we must clarify several concepts: What are the differences and contact points between arrays, associative arrays and json?

1. Concept introduction
1. Array

Syntax:
ECMAScript v3 specifies the syntax for array literals, and JavaScript 1.2 and JScript 3.0 implement it. You can create and initialize an array by placing a comma-separated list of expressions in square brackets. The values ​​of these expressions will become array elements. For example:

var a = [1, true, 'abc'];

Check the API for detailed operations.

ps: Must be separated by square brackets.

2. Associative array

1. Grammar:
var myhash= {”key1″:”val1″, “key2″:”val2″ };//obj

2.var
myhash= {key1:”val1″, key2:”val2″};//obj-can also be used

ps: It is almost the same as the json format, but the json format requirements are more strict (the key-value pairs inside must use double quotes), but json can only be used as a format standard. If you want to operate on it, it must be converted into an associative array. Object(obj).

2. Simple operation
1. Add key value to Hash associative array

//Add a new key newkey with the key value newval

myhash["newkey"] = "newval";

2. Delete existing key values ​​in Hash associative array

// Delete a key newkey, and at the same time, the newval corresponding to the key value will disappear
delete myhash[”newkey”];

3. Traverse Hash associative array

// Traverse the entire hash array
for (key in myhash) {
val = myhash[key];
}

4. Obtain value

Method 1.myhash.key1
Method 2.myhash.key2

3.json
Format requirements:

{”key1″:”val1″, “key2″:”val2″};//Strictly follow this format, and the operation can be based on the operation of the associative array

2. Several key points in front-end and back-end interactions
1. When the data sent by the server is not one json, but multiple json, the array should be contacted and associative array to assemble string
For example: var objs = [{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}];

2. From beginning to end, the data provided by the server to the client is only a string, so in order to allow it to perform necessary operations on it in js, it can be converted into a js executable object through eval().
Therefore, the $.parseJSON() provided in jQuey has limitations. If it is the situation mentioned in 1 above, you must use eval() for conversion, and then use $.each(objs,function(i ,o){...}) to operate

3. Specific example code
Page code:

Copy code The code is as follows: