JSONノート

3344 ワード

JSON(JavaScript Object Notation)は、軽量級のデータ交換フォーマットであり、言語とは完全に独立したテキスト形式を採用し、理想的なデータ交換フォーマットである.同時に、JSONはJavaScript原生フォーマットであり、これはJava ScriptでJSONデータを処理するには特別なAPIまたはツールバッグが必要ではないことを意味する. JSON文法規則    ●データは名称/値ペアにあります.    ●データはカンマで区切られています.    ●かっこの保存先    ●四角い括弧保存配列(1).一つのオブジェクトは「{」(左括弧)で始まり、「}」(右括弧)で終了します.各「名称」の後に「:」(コロン);「名前/値ペア」の間に「、」(カンマ)で区切られます.名称を引用符で囲む.値が文字列の場合は括弧が必要で、数値型は不要です.(2)配列は値(value)の規則的な集合である.配列は「[](左中かっこ)で始まり、'』(右中かっこ)で終了します.値の間に「,」(コンマ)で区切られます.{    「employees」:[        {first Name”:John、“lastName”:“Dooe”        {first Name”:Anna、“lastName”:“Smith”}        {first Name”:「Peter」、「lastName」:「Jones」}    ]}JSONデータを便利に処理するために、JSONはjson.jsパッケージを提供しています.http://www.json.org/json.jsデータ伝送プロセスでは、jsonはテキスト、すなわち文字列で伝達され、JSはJSONオブジェクトで動作するので、JSONオブジェクトとJSON文字列との間の相互変換が鍵となる.    JSON文字列:    var str 1='{name]:「cxh」,「sex」:「man」';    JSONオブジェクト:    var str 2={「name」:「cxh」,「sex」:「man」}        一、JSON文字列をJSONオブジェクトに変換する    上のstr 1を使うには、下の関数を使ってまずJSONオブジェクトに変換しなければなりません.   //JSON文字列からJSONオブジェクトに変換    var obj=eval('++str+'))    var obj=str.parseJSON()//JSON文字列からJSONオブジェクトに変換する    または    var obj=JSON.parse(str)//JSON文字列からJSONオブジェクトに変換する    その後、このように読めます.    Alert(obj.name)    Alert(obj.sex)    特に注意してください.Objが本来JSONのオブジェクトであるなら、eval()関数変換後(複数回変換しても)JSONのオブジェクトですが、パーパーパージーJSON()関数を使って処理したら疑問があります.    (文法異常を投げかける).        二、JSONString()またはグローバル関数JSON.strigify()を用いてJSONオブジェクトをJSON文字列に変換することができます.    たとえば:    var last=obj.toJSONString()//JSONオブジェクトをJSON文字に変換する    または    var last=JSON.strigify(obj)//JSONオブジェクトをJSON文字に変換する    alert(last)    注意:    上記の複数の関数のうち、eval()関数はjsが持参したもの以外、他の複数の関数はJson.jsパッケージから来ています.新しいバージョンのJSONはAPIを修正し、JSON.strigify()とJSON.parse()を変更しました.    両方の関数はJavascriptの内部建設対象に注入され、前者はObject.toJSONString()となり、後者はString.parseJSON()となる.    toJSONString()とパーパージー()関数が見つからないと、Jsonパッケージのバージョンが低すぎるということです.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../script/jquery-1.10.1.js"></script>
<style type="text/css">
	
</style>
<title>JavaScript  JSON    </title>
</head>
<body>
<div>
	<input type="button" id="button1" value="JavaScript  JSON    " />
	<div id="result" ></div>
</div>
<script type="text/javascript"> 
	var obj = {
		"employees": [
			{ "firstName":"John" , "lastName":"Doe" },
			{ "firstName":"Anna" , "lastName":"Smith" },
			{ "firstName":"Peter" , "lastName":"Jones" }
		]
	};
	$("#button1").click(function() {
		var strResult = "";
		for(var i=0; i<obj.employees.length; i++) {
			strResult += obj.employees[i].firstName + "&nbsp;" + obj.employees[i].lastName + "<br/>";
		}
		$("#result").html(strResult);
	})
</script>
</body>
</html>