?????? JSON
JavaScript JSON
??? Ajax ??? ? ? ? ?? ???? ?? ???? ???? ??? ? ????. ??? XMLHttpRequest ??? responseXML ??? ???? XML ??? ???? ????? ????. responseText ??? ??? ??? ???? ??????. ?? XML? ??? ??? ?? ?? ?????, XML? ???? ??? ?? ? ??? ?? ?? ???? ???? ??? ???? ???? ???? ????.
JSON(JavaScript Object Notation)? JavaScript Object Notation??? ??? ?? ??? ?? ?????. ??? ??? JSON? ???? ?? ? ??? JSON? ??? JavaScript?? ????. ECMAScript ?? 3? JavaScript ?? ??? ?? ?? ??? ???? ?? ??? ?????. ?, responseText? ???? ???? JSON ???? ??? ?? JavaScript? eval() ???? ???? JSON ???? JavaScript ??? ??? ?? ?? JavaScript? ???? ?? ?? ???? ???? ?? ??? ? ????. .
?? ???? ????? ??(C++, C#, ColdFusion, Java, Perl, PHP ? Python ??)? ?? JSON ?????? ????. ??? ?????? ? ??? ???? ???? JSON ???? ??? ? ????.
XML? ??? ?, ?? ? ??? ??? ??? ??? ?? ??? ??? ? ???? ???? ?? ? ?? ? ?? ??????? ???? ?? ??? ???? XML ?? ??? ?? ??? ???? ??? ????. ?? ??? XML? ????? JavaScript? ???? XML? ?? ???? ?????? ?? ??? ????? ?? ???? ??? ?????. ??? ???? ? ????????? ???? ???? ?? ??? XML? ???? ????. XML? ???? ?? ? ???? ???? ?? HTML ??? ?? ???? ??? ?? ????. XML? ???? ?? ???? ?? ??? ? HTML ??? ???? ???? ???? ?? ????? ?? ??? ???? ?????. XML? ??, ??, ??? ? ?? ??? ?????. JSON? ?? ??? ???? ??? ?? ??? ???? ????. JSON ????? ??-? ?(??) ?? ?(??)? ????? JSON ???? ??? XML ????? ??? ? ???? ?? ??? ? ????.
? ? ? (1) JSON ??
? ? ? ? ? ? JSON? ? ?? ??? ?????.? ? ? ? ? ? ?. ?? ????? ??, ???, ??, ??, ?? ???, ? ?? ?? ?? ??? ?????. ??? "{"(?? ???)? ???? "}"(??? ???)? ????. ? "??" ??? ":"(??)? ???. "??/?" ?? ","(??)? ?????.
?? - ??? ??? ? ?????. ???? ????? ??? ?????. ??? "["(?? ???)? ???? "]"(??? ???)? ????. ?? ????? ","(??)? ?????.
??????? JSON?? ??? ?? ?? ??? ????. JSON? ??? ???? ?????.
JSON ??? ?? ???? ?? ???? JavaScript ??? ???? ???. ???? ???? ?? ??? ??? ????? ???? ??? ???? ???? ????.
1. ??? ??
JSON ??? ???? ??, ??, ?? ?(true/false), null, ??, ?? ?? ??? ??? ?????.
? ? ? ? ? JSON ???? ????? ??? ???. ?? JavaScript ????? ???? ?????. ??? ?? ?? ?? ????? ?????.
JSON?? "(???), b(??), n(? ?), f(? ??), r(??? ??), t( ?? ?? ??), u(???? ??? 4?? ??), (???? ??), /(??? ??)
2. ?? ???
.JSON? ???? ???? ??? ?????. ?? ??? ? ? ??? ?? JSON?? ? ??? ??? ???? ??? ??? ? ????. ?? ??? ?? ??? JOSN ??? ???? ?????.
{“memeber”:[ { “name”:”Tom”, “age”:22, “country”:”USA” }, { “name”:”WangMing”, “age”:25, “country”:”China” } ] }
3. JSON ?? ??
JSON ??? ???? ??? ???? JSON ???? ????? JSON ????? ??? ??? ??? ? ????. JSON ???? www.json.rog/json.js??? ??? ??? ?? ??? ???? ??? ? ?? JSON ??? ?????. JSON ?? ???? toJSONString() ? ParseJSON()??? ? ?? ??? ?????.
toJSONString() ???? JavaScript ?? ? ?? ??? ???????. ? ???? JavaScript ?? ?? ??? JSON ???? ??? ? ????. ? ???? ???? ?? ??? ??? ???? ??? ??? ????.
parseJSON() ???? JSON ????? ??? ??? ?? ? ????. ??? >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #
? ? respone.open(“GET”,”classes.txt”,true);
? ? ??,classes.txt? JSON ??? ??? ????, request? XMLHttpRequest ??? ???? ?? ??? ?????.
2. ?? ?? ??
???? JSON ???? ???? ? ?? ???? ??? ?? ??? ? ????. JavaScript? ?? ??? eval()? ?????, ? ??? ??? ?? JSON ??? ?? ??? ? ????.
eval() ???? JavaScript ???? ?? ??? ??? ? ??? ???? ?? ?? ?? ???? ??? ?? ????. XMLHttpRequest ??? responseText ??? ???? JSON ???? ???? ?? eval()? ???? JSON ??? ???? JavaScript ??? ?????. JSON ????? ???? ???? ??? ?? ??? JSON ???? ??? ?? ??? ??? ??? ??? ????? ?????.
var jsonResp=request.responseText;
jsonResp=eval(“(”+jsonResp+”)”);
? ??? JSON ???? ?? ???? ?? ???? ?? eval() ???? ?????. ??? ??? ?? JSON ??? ?????. JSON ??? JSON ?????? ???? ?? JavaScript? ???? ????. ? ?? responseText? ??? ? ??? JSON ??? ???? JavaScript ??? ????? JSON() ???? ?????. ParseJOSN ??? ?????? json.js ??? ?? ??? ???? ???? ???.
var jsonResp=request.responseText;
jsonResp=jsonResp.parseJSON();
??? JavaScript?? JSON? ???? ???? ??? ???? ????.
<script type="text/javascript"> var user =[ { "name":”shenmiweiyi”, "QQ":306451129, "email":”shenmiweiyi@163.com” "address": [ {"City":"ZhengZhou","ZipCode":"450000"}, {"City":"BeiJing","ZipCode":"100000"} ] }, { "name":”kehao”, "QQ":254892313, "email":”kehao@163.com” "address": [ {"City":"ShangHai","ZipCode":"200000"}, {"City":"GuangZhou","ZipCode":"510000"} ] } ] alert(user[0].name+”的Email是:”user[0].email); //outputs shenmiweiyi的Email是:shenmiweiyi@163.com alert(user[1].name+”住在:”user[1].address[0].city) //outputs kehao住在:ShangHai </script>
JSON? ?? JavaScript ??? ?????. ?? ?? ????? JSON? ???? ?????. Ajax? ???? Web2.0 ????? ?? JSON? ?? ?? ???? ??? ??????.
JSON? JavaScript ??? ????????.
JSON ??? JavaScript ??? ???? ??? ??? ?????.
???? ??? JavaScript ????? JSON ???? JavaScript ??? ?? ??? ? ????.
JSON ?? ??
???? ?/? ????.
???? ??? ?????.
???? ?? ??
???? ?? ??
JSON ??? - ??? ??? ??? ?? ?????.
JSON ??? ??? JavaScript ?? ??? ????? ?/? ????.
?/? ?? ?? ??(???? ?), ??, ??? ?????.
"firstName":"John"
JSON ??
JSON ??? ??? ?? ?????.
JavaScript? ????? ??? ?? ?/? ?? ??? ? ????.
{"firstName":"John", "lastName":"Doe"}
JSON ??
JSON ??? ??? ?? ?????.
JavaScript? ????? ???? ??? ??? ? ????:
"employees":[
?{"firstName":"John", "lastName":"Doe"},
?{"firstName":"Anna", " lastName ":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
? ??? "employees" ??? ?????. ? ?? ??? ???? ????.
? ??? ??(?? ??)? ?????.
JSON ???? JavaScript ??? ??
?? ??? ???? JSON ???? ?? ? ???? ???? ?????.
???? ?? ? ????? ?? JSON ???? ?????(JSON ????? ?? ? ????).
??, ???? JSON ??? ??????.
var text = '{ " ??" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" } ,' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
?? ?? JavaScript ?? ?? JSON.parse()? ???? ???? JavaScript ??? ?????. :
var obj = JSON .parse(text);