JSON(JavaScriptオブジェクト表記)は、完全に言語に依存しないテキスト形式を使用する軽量のデータ交換形式であり、理想的なデータ交換形式です。一方、JSONはJavaScriptネイティブ形式です。つまり、JAVAScriptでJSONデータを処理するために特別なAPIまたはツールキットは必要ありません。
Javaの下での多くのJSON構造および解析ツールは、www.json.orgで公開されています。その中で、org.jsonとJson-libは比較的簡単です。 2つは使用が似ていますが、まだいくつかの違いがあります。以下は、JSON-LIBを使用してJSONデータを構築および解析する方法の最初の例です。
org.sonを使用してJSONデータを構築および解析する方法の詳細な説明については、次のブログ投稿を参照してください。Javaを使用してJSONデータの構築と解析の2つの方法(詳細な説明2)
1。はじめに
JSON-LIBパッケージは、豆、コレクション、マップ、Javaアレイ、XMLとJSONを変換するパッケージです。主にJSONデータを解析するために使用されます。公式ウェブサイトhttp://www.json.org/に詳細な説明があります。興味があれば勉強することができます。
2。JAR依存関係パッケージをダウンロード:ここからダウンロードできます
3。基本的な方法の紹介
1。リストコレクションをJSONメソッドに変換します
list list = new arrayList(); list.add( "first"); list.add( "second"); jsonarray jsonarray2 = jsonarray.fromobject(list);
2。マップコレクションをJSONメソッドに変換します
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( "func"、 "unc"、 "unc"、 "unc"、 "func"、 "unc"、 "func"、 "func"、 "func"、 "func"、 "func"、 " json = jsonobject.fromobject(map); 3。豆をJSONコードに変換します
jsonobject jsonobject = jsonobject.fromobject(new jsonbean());
4.配列をJSONコードに変換します
boolean [] boolarray = new boolean [] {true、false、true}; jsonarray jsonarray1 = jsonarray.fromobject(boolarray);5。一般的なデータをJSONコードに変換します
jsonarray jsonarray3 = jsonarray.fromobject( "['json'、 'is'、 'easy']");
6.豆をJSONコードに変換します
リストリスト= new ArrayList(); jsonbean2 jb1 = new jsonbean2(); jb1.setcol(1); jb1.setrow(1); jb1.setvalue( "xx"); jsonbean2 jb2 = new jsonbean2(); jb2.setcol(2); jb2.setrow(2); jb2.setvalue( ""); list.add(jb1); list.add(jb2); jsonarray ja = jsonarray.fromobject(list);
4。デモの例
テストするいくつかの基本的な一般的な方法を以下に示します
パッケージcom.json; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import net.sf.json.jsonarray; Import net.sf.json.jsonobject; 2013/5/23 **/public class jsontest {/*** construct json data** @return**/public static string buildjson(){// json形式のデータ解析オブジェクトjsonobject jo = new jsonobject(); //次の構成2つのマップ、リストと従業員オブジェクトマップ<文字列>マップ"alexia"); map1.put( "sex"、 "female"); map1.put( "age"、 "23"); map <string、string> map2 = new hashmap <string、string>( "name"、 "edward"); map2.put( "sex、" male "); map2.put(" 24 "); ArrayList <Map>(); list.add(map1); list.add(map2); employee employee = new Employee(); employe.setname( "wjl"); employee.setsex( "female"); employe.setage(24); // Mapをjsonarray data datajsonarray ja1 = jsonarray.fromiject(jsonarray spot to jsonarray( ja2 = jsonarray.fromobject(list); // beanをjsonarrayデータに変換jsonarray ja3 = jsonarray.fromobject(employee); system.out.println( "jsonarray object data形式: "); System.out.println(ja1.tostring()); system.out.println(ja2.tostring()); system.out.println(ja3.tostring()); ja2); system.out.println( "/n最終構築JSONデータ形式:"); system.out.println(jo.toString()); return jo.toString();}/*** parse json data** @param jsonstring json data data string*/static vaid(string jsonstring){String Jsonstring) jsonobject jb = jsonobject.fromobject(jsonstring); jsonarray ja = jb.getjsonarray( "employee"); list <employee> emplist = new arraylist <Employee>(); i <ja.size(); i ++){従業員従業員= new従業員(); employee.setName(ja.getjsonobject(i).getString( "name")); employe.setsex(ja.getjsonobject(i).getString( "sex")); employe.setage(ja.getjsonobject(i).getint( "age")); object: "); for(int i = 0; i <emplist.size(); i ++){employee emprist.get(i); system.out.println(" name: " + emp.getname() +" sex: " + emp.getsex() +" age: " + emp.getage();} {// TODO自動生成方法Stubparsejson(buildjson());}}操作結果は次のとおりです
5. org.jsonと比較してください
JSON-Libとorg.jsonの使用はほぼ同じです。私は2つの違いを要約しました:
1。org.jsonはJson-libよりもはるかに軽いです。前者は他のJARパッケージに依存していませんが、後者はエズモルフとコモンズのラング、伐採、ビーンティル、コレクション、その他のコンポーネントに依存しています。
2。JSON-LIBは、豆を建設して豆を解析するときに、org.jsonよりもはるかに便利です。 Json-Libは豆で直接変換できますが、org.jsonは豆で直接変換することはできず、輸送としてマップを必要とします。豆をJSONデータに変換する場合、最初に豆をマップに変換し、次にマップをJSONに変換する必要があります。これはより面倒です。
要するに、同じ文がまだあなたにとって最高のものです。必要に応じて分析するために使用する方法を選択する必要があります。最後に、JSONデータを分析するための2つのツールを紹介します。1つはJSON編集(http://braincast.nl/samples/jsoneditor/);もう1つはEclipseプラグインJSONツリーアナライザーです。どちらも非常に便利であり、誰もが使用することをお勧めします!
上記は、JAVAを使用してJSONデータを構築および解析することにより、紹介された2つの方法です(詳細な説明1)。私はそれが誰にでも役立つことを願っています!