JSONObjectとJSONArrayのJSON操作
5218 ワード
JSON(JavaScript Object Notation)は、軽量級のデータ交換フォーマットである.それはJavaScript(Standard ECMA-232 rd Edition-December 1999)のサブセットに基づいています.一度のプロジェクトでは、ページでデータを返します.
1、Json.jarパッケージを導入する.
2、JSONObject対象として使用する.
まずJSONObjectオブジェクトを作成し、putメソッドを使ってオブジェクトに要素を追加します.
3、JSONArrayListオブジェクト使用
使用 elementメソッド保存対象
4、HTMLページ処理
var data Obj=eval("++data+"))//Jsonオブジェクトに変換します.
なぜエヴァはここに「("++")」/」を追加しますか?
理由は、エヴァ自体の問題です.jsonは「{}」で始まり、終わりますので、JSでは、文のブロックとして扱われます. を選択しますので、強制的に表現に変換する必要があります.
括弧を入れる目的は、JavaScriptコードを処理する際にeval関数を強制的に括弧内の表現を強制することです. (expression)は、ステートメントとしてではなく対象になります.一例を挙げると、例えば対象の字面量{ },外側の括弧を入れないと、evalは大きな括弧をJavaScriptコードブロックの開始と終了フラグとして認識します. 空文が実行されたと思われます.以下の2つの実行結果は異なります.
alert(eval)//return undefined
alert(eval)//return object[Object]
5、http://json-lib.sourceforge.net/apidocs/jdk15/index.html
6、JSON.JARダウンロード住所
http://download.csdn.net/detail/leiyinsu/7064451
1、Json.jarパッケージを導入する.
2、JSONObject対象として使用する.
まずJSONObjectオブジェクトを作成し、putメソッドを使ってオブジェクトに要素を追加します.
package JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;
public class JSONObjectSampl {
private static JSONObject createJSONObject(){
JSONObject jsonObj = new JSONObject();
try {
jsonObj.put("id", "1");
jsonObj.put("name", "sam");
jsonObj.put("email", "[email protected]");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonObj;
}
public static void main(String[] args) {
// , .
JSONObject jsonObj = JSONObjectSampl.createJSONObject();
System.out.println("jsonObj:"+jsonObj);
//
boolean isArray = jsonObj.isArray();
boolean isEmpty = jsonObj.isEmpty();
boolean isNullObject = jsonObj.isNullObject();
System.out.println("isArray:" + isArray + "\tisEmpty:" + isEmpty + "\tisNullObject:" + isNullObject);
// , jsonObj
jsonObj.element("address", " ");
System.out.println(" :"+jsonObj);
// jsonArray
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
jsonObj.element("jsonArray", jsonArray);
// jsonArray
JSONArray array = jsonObj.getJSONArray("jsonArray");
System.out.println("jsonObj"+jsonObj);
System.out.println(" jsonArray "+array);
// key
String name = jsonObj.getString("name");
System.out.println("name"+name);
// JSONObj
String temp = jsonObj.toString();
JSONObject object = JSONObject.fromObject(temp);
System.out.println("temp:"+object.get("address"));
}
}
3、JSONArrayListオブジェクト使用
使用 elementメソッド保存対象
package JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JSONTest {
public static void main(String[] agrs){
JSONObject jsonObj0 = new JSONObject();
JSONObject jsonObj1 = new JSONObject();
JSONObject jsonObj2 = new JSONObject();
JSONObject jsonObj3 = new JSONObject();
JSONArray jsonArray = new JSONArray();
jsonObj0.put("name0", " ");
jsonObj0.put("sex0", "female0");
System.out.println("jsonObj0:\t"+jsonObj0);
jsonObj1.put("nam1", " ");
jsonObj1.put("sex1", "male1");
System.out.println("jsonObj1:\t"+jsonObj1);
jsonObj2.put("item0", jsonObj0);
jsonObj2.put("item1", jsonObj1);
System.out.println("jsonObj2:\t"+jsonObj2);
jsonObj3.element("jsonObj3", jsonObj2);
System.out.println("jsonObj3:\t"+jsonObj3);
// JSONArray JSONObject 。 JSONArray JSONObject JSONArray JSONObject []
jsonArray.add(jsonObj1);
System.out.println("jsonArray:"+jsonArray);
JSONObject jsonObj4 = new JSONObject();
jsonObj4.element("weather", jsonArray);
System.out.println("jsonObj4:"+jsonObj4);
}
}
4、HTMLページ処理
var data Obj=eval("++data+"))//Jsonオブジェクトに変換します.
なぜエヴァはここに「("++")」/」を追加しますか?
理由は、エヴァ自体の問題です.jsonは「{}」で始まり、終わりますので、JSでは、文のブロックとして扱われます. を選択しますので、強制的に表現に変換する必要があります.
括弧を入れる目的は、JavaScriptコードを処理する際にeval関数を強制的に括弧内の表現を強制することです. (expression)は、ステートメントとしてではなく対象になります.一例を挙げると、例えば対象の字面量{ },外側の括弧を入れないと、evalは大きな括弧をJavaScriptコードブロックの開始と終了フラグとして認識します. 空文が実行されたと思われます.以下の2つの実行結果は異なります.
alert(eval)//return undefined
alert(eval)//return object[Object]
5、http://json-lib.sourceforge.net/apidocs/jdk15/index.html
6、JSON.JARダウンロード住所
http://download.csdn.net/detail/leiyinsu/7064451