JSON/Json-libを使う
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
[[Json-lib>http://json-lib.sourceforge.net/]] はJavaでJSO...
**インストール [#f3d0cc89]
https://sourceforge.net/project/showfiles.php?group_id=17...
にあるとおり
-commons-beanutils 1.7.0
-commons-lang 2.2
-[[ezmorph>http://ezmorph.sourceforge.net/]] 0.9.2
-[[xom>http://www.ibiblio.org/xml/XOM/]] 1.1
-junit 3.8.1(オプション)
-oro 2.0.8(オプション)
などです。
**いろいろなJavaオブジェクトをJSON形式で出力してみる [#f3...
Json-libを使っていろいろなJavaオブジェクトをJSON形式で出...
***配列を出力してみる [#nf5f11f2]
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);
結果
[true,false,true]
キーを持たない配列はこのように記述するんですね。
***リストを出力してみる [#b60539bc]
List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
結果
["first","second"]
配列と同じですね。当たり前ですが。
***Mapを出力してみる [#hbd9392e]
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("chars", new char[] { 'a', 'b' });
結果
{"chars":["a","b"],"arr":["a","b"],"int":1,"name":"json"...
記述がネスト化されていまて、さらに{"key":"value"}という構...
***Javaオブジェクトを出力してみる [#m889771d]
対象のJavaのモデルはUser,Customerという[[Hibernate/マッピ...
User user = new User();
user.setName("ユーザ1");
user.setAddress("東京都江東区");
Customer c1 = new Customer();
c1.setName("顧客1");
Customer c2 = new Customer();
c2.setName("顧客2");
Set<Customer> set = new HashSet<Customer>();
set.add(c1);
set.add(c2);
user.setCustomers(set);
JSONObject jsonObject = JSONObject.fromObject(user);
System.out.println(jsonObject);
結果
{ "customers":[
{"user":null,"name":"顧客1","id":0},
{"user":null,"name":"顧客2","id":0}
],
"address":"東京都江東区",
"name":"ユーザ1",
"id":0
} (整形してます)
Setを使ったモデル内のモデルSetも、ネスト構造を用いてうま...
***JSON形式の文字列からJSONオブジェクトを生成する [#xd031...
いままではJavaオブジェクトからJSONObjectのインスタンスを...
jsonObject = JSONObject
.fromString("{\"customers\":[{\"user\":null,\"name\":\"...
{\"user\":null,\"name\":\"顧客2\",\"id\":...
\"address\":\"東京都江東区\",\"name\":
\"ユーザ1\",\"id\":0}"); //ここは一行で。
System.out.println(jsonObject);
結果
{ "customers":[
{"user":null,"name":"顧客1","id":0},
{"user":null,"name":"顧客2","id":0}
],
"address":"東京都江東区",
"name":"ユーザ1",
"id":0
} (整形してます)
¥でエスケープしてるのでわかりにくいですがさっきのJavaモ...
***2009/03/18追記 [#ub8a7070]
久しぶりに触ってみたら、モジュールが色々バージョンアップ...
JSONObject jsonObject = JSONObject.fromObject(json);
を使用するようです。
***JSON形式のオブジェクトから、Javaオブジェクトを復元する...
JavaオブジェクトからJSON形式に変換することはできましたが...
public class BeanA {
private boolean bool;
private int integer;
private String str;
public boolean isBool() { return bool; }
public int getInteger() { return integer; }
public String getString() { return str; }
public void setBool(boolean bool) { this.bool = bool; }
public void setInteger(int integer) { this.integer = i...
public void setString(String str){ this.str=str; }
}
とします。このクラスのインスタンスをJSON形式の文字列から...
String json = "{bool:true,integer:1,string:\"json\"}";<-...
JSONObject jsonObject = JSONObject.fromString(json);
System.out.println(jsonObject);
BeanA bean = (BeanA) JSONObject.toBean(jsonObject, BeanA...
System.out.println(bean.getInteger());
System.out.println(bean.getString());
System.out.println(bean.isBool());
結果
{"string":"json","integer":1,"bool":true}
1
json
true
このように
JSONObject.toBean([JSONObjectのインスタンス], [復元した...
メソッドでインスタンスを取得することができます。
**コンテンツ一覧 [#qad9c132]
#ls2
----
この記事は
#vote(おもしろかった[61],そうでもない[15])
-はじめ char[]で例外となり、プリミティブの配列はサポート...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
[[Json-lib>http://json-lib.sourceforge.net/]] はJavaでJSO...
**インストール [#f3d0cc89]
https://sourceforge.net/project/showfiles.php?group_id=17...
にあるとおり
-commons-beanutils 1.7.0
-commons-lang 2.2
-[[ezmorph>http://ezmorph.sourceforge.net/]] 0.9.2
-[[xom>http://www.ibiblio.org/xml/XOM/]] 1.1
-junit 3.8.1(オプション)
-oro 2.0.8(オプション)
などです。
**いろいろなJavaオブジェクトをJSON形式で出力してみる [#f3...
Json-libを使っていろいろなJavaオブジェクトをJSON形式で出...
***配列を出力してみる [#nf5f11f2]
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);
結果
[true,false,true]
キーを持たない配列はこのように記述するんですね。
***リストを出力してみる [#b60539bc]
List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
結果
["first","second"]
配列と同じですね。当たり前ですが。
***Mapを出力してみる [#hbd9392e]
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("chars", new char[] { 'a', 'b' });
結果
{"chars":["a","b"],"arr":["a","b"],"int":1,"name":"json"...
記述がネスト化されていまて、さらに{"key":"value"}という構...
***Javaオブジェクトを出力してみる [#m889771d]
対象のJavaのモデルはUser,Customerという[[Hibernate/マッピ...
User user = new User();
user.setName("ユーザ1");
user.setAddress("東京都江東区");
Customer c1 = new Customer();
c1.setName("顧客1");
Customer c2 = new Customer();
c2.setName("顧客2");
Set<Customer> set = new HashSet<Customer>();
set.add(c1);
set.add(c2);
user.setCustomers(set);
JSONObject jsonObject = JSONObject.fromObject(user);
System.out.println(jsonObject);
結果
{ "customers":[
{"user":null,"name":"顧客1","id":0},
{"user":null,"name":"顧客2","id":0}
],
"address":"東京都江東区",
"name":"ユーザ1",
"id":0
} (整形してます)
Setを使ったモデル内のモデルSetも、ネスト構造を用いてうま...
***JSON形式の文字列からJSONオブジェクトを生成する [#xd031...
いままではJavaオブジェクトからJSONObjectのインスタンスを...
jsonObject = JSONObject
.fromString("{\"customers\":[{\"user\":null,\"name\":\"...
{\"user\":null,\"name\":\"顧客2\",\"id\":...
\"address\":\"東京都江東区\",\"name\":
\"ユーザ1\",\"id\":0}"); //ここは一行で。
System.out.println(jsonObject);
結果
{ "customers":[
{"user":null,"name":"顧客1","id":0},
{"user":null,"name":"顧客2","id":0}
],
"address":"東京都江東区",
"name":"ユーザ1",
"id":0
} (整形してます)
¥でエスケープしてるのでわかりにくいですがさっきのJavaモ...
***2009/03/18追記 [#ub8a7070]
久しぶりに触ってみたら、モジュールが色々バージョンアップ...
JSONObject jsonObject = JSONObject.fromObject(json);
を使用するようです。
***JSON形式のオブジェクトから、Javaオブジェクトを復元する...
JavaオブジェクトからJSON形式に変換することはできましたが...
public class BeanA {
private boolean bool;
private int integer;
private String str;
public boolean isBool() { return bool; }
public int getInteger() { return integer; }
public String getString() { return str; }
public void setBool(boolean bool) { this.bool = bool; }
public void setInteger(int integer) { this.integer = i...
public void setString(String str){ this.str=str; }
}
とします。このクラスのインスタンスをJSON形式の文字列から...
String json = "{bool:true,integer:1,string:\"json\"}";<-...
JSONObject jsonObject = JSONObject.fromString(json);
System.out.println(jsonObject);
BeanA bean = (BeanA) JSONObject.toBean(jsonObject, BeanA...
System.out.println(bean.getInteger());
System.out.println(bean.getString());
System.out.println(bean.isBool());
結果
{"string":"json","integer":1,"bool":true}
1
json
true
このように
JSONObject.toBean([JSONObjectのインスタンス], [復元した...
メソッドでインスタンスを取得することができます。
**コンテンツ一覧 [#qad9c132]
#ls2
----
この記事は
#vote(おもしろかった[61],そうでもない[15])
-はじめ char[]で例外となり、プリミティブの配列はサポート...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: