json2.js

5105 ワード

概要
このプラグインは主にIE 8以下のIEブラウザの互換性の問題を解決するために、2つの方法を含む限り:JSON.stringify()シーケンス化方法とJSON.parse()逆シーケンス化方法
プラグインのダウンロードアドレス
https://github.com/douglascrockford/JSON-js
参照メソッド
ダウンロード後のローカル直接参照
CDNリファレンス
その このプラグインのCDNバージョン:https://www.bootcdn.cn/json2/
デモの
1:
コードは のとおりです.
//    json    
var myJSONObject = {"bindings": [
									{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
									{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
									{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
								]
					};

この では、1つのメンバーbindingsのみを むオブジェクトが されます.bindingsは、3つのオブジェクトを む であり、 オブジェクトにはircEventmethod、およびregexの3つのメンバーがある.
これらのメンバーは、.または[] によって ることができる. のようになります.
myJSONObject.bindings[0].method // "newURI"
myJSONObject.bindings[1].deleteURI // "newURI"
//     ,     json            
var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
eval() を してJavaScriptのコンパイラを び し、JSONのテキストをオブジェクトに することができます.JSONJavaScriptの なサブセットであるため、コンパイラはJSONのテキストを に し、オブジェクト を することができる.
//  eval     json  
var myE = eval(normalstring);
// json        
var text = JSON.stringify(myE);
//      json          
document.writeln('    json  :'+text+'

json '+jsontext+'

'+normalstring+'

');

は のとおりです.
    json  :[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
   json    [{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
         [{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}] 

: されたjsonテキストと されたjson のテキストの は じです.
が な はJSONを して すればよい.JSON では、JSONテキストのみが され、より であるため、jsonparse を び してテキストデータ に してjsonデータ var myData = JSON.parse(jsontext);を する
なコードは のとおりです.








var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//  eval     json  ,
var myE = eval(normalstring);
// json        
var text = JSON.stringify(myE);
//      json          
document.writeln('    json  :'+text+'<br><br>   json     '+jsontext+'<br><br>          '+normalstring+'<br><br>');
//JSON  
var myData = JSON.parse(jsontext);



 
  

例二:

代码如下:

//    json         








//  json  
var jsonObj2={persons:[
{name:"jordan",sex:"m",age:"40"},
{name:"bryant",sex:"m",age:"28"},
{name:"McGrady",sex:"m",age:"27"}
]};
var persons=jsonObj2.persons;
var str="";
var person={name:"yaoMing",sex:"m",age:"26"};
//   json     ,            
jsonObj2.persons.push(person);//         
jsonObj2.persons.pop();//      
jsonObj2.persons.shift();//     
jsonObj2.persons.unshift(person);//               Javascript         JSON       !         splice( )  crud  ! //  
jsonObj2.persons.splice(0,2);//    ,    
//     
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother,self);//    ,    ,    
//     
jsonObj2.persons.splice(0,1,self,brother);//    ,    ,    
for(var i=0;i<persons.length;i++){
var cur_person=persons[i];
str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br><br>";
}
document.writeln(str);
//   json  
var myjsonobj = JSON.stringify(jsonObj2);
document.writeln(myjsonobj);
document.writeln(persons.length);


 

参照先:https://www.jb51.net/article/28459.htm https://www.jb51.net/article/123742.htm