1. JSON とは
JSON は、データの保存と表現にプログラミング言語から完全に独立したテキスト形式を使用する軽量のデータ交換形式です。シンプルさと明確な階層構造により、JSON は理想的なデータ交換言語となります。読み取りと書き込みが簡単であるだけでなく、解析と生成も簡単で、ネットワーク伝送効率を効果的に向上させます。
2. JSON 構文
(1) データは名前と値のペアで構成されます
(2) データはカンマで区切られます
(3) 中括弧はオブジェクトを保存します
(4) 角括弧は配列を保存します
3. Java で JSON を生成および解析する 4 つの方法 (簡単なデモ):
エンティティ クラス: JSON データとの間の変換に使用されます
public class Person { private String name; private String sex; private int age; public Person(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public String getName() { return name; } public String getSex() { return sex; } public int getAge() { return age; } @Override public String toString() { return "Person{name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}'; } }
(1) 従来の方法の使用:
エンティティ クラスから Json 文字列を生成します:
public Person getPerson(){ return new Person("张三", "男", 25); } @Test public void EntityToJson(){ JSONObject jsonObject = new JSONObject(); jsonObject.put("name", getPerson().getName()); jsonObject.put("sex", getPerson().getSex()); jsonObject.put("age", getPerson().getAge()); System.out.println(jsonObject.toString()); }
Json 文字列からエンティティ クラスを生成:
@Test public void JsonToEntity(){ String jsonString = "{\"sex\":\"男\",\"name\":\"张三\",\"age\":25}"; JSONObject jsonObject = new JSONObject(jsonString); Person person = new Person(jsonObject.get("name").toString(), jsonObject.get("sex").toString(), Integer.valueOf(jsonObject.get("age").toString())); System.out.println(person.toString()); }
(2) Jackson メソッドを使用:
エンティティ クラスから Json 文字列を生成:
@Test public void EntityToJson() throws IOException { Person person = new Person("张三", "男", 25); ObjectMapper objectMapper = new ObjectMapper(); String jsonString = objectMapper.writeValueAsString(person); System.out.println(jsonString); }
Json 文字列からエンティティ クラスを生成:
@Test public void JsonToEntity() throws IOException { ObjectMapper objectMapper = new ObjectMapper(); String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}"; Person person = objectMapper.readValue(jsonString, Person.class); System.out.println(person); }
(3) GSON メソッドを使用:
エンティティ クラスから Json 文字列を生成:
@Test public void EntityToJson(){ Person person = new Person("张三", "男", 25); Gson gson = new Gson(); String jsonString = gson.toJson(person); System.out.println(jsonString); }
Json 文字列からエンティティ クラスを生成する:
@Test public void JsonToEntity(){ String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}"; Gson gson = new Gson(); Person person = gson.fromJson(jsonString, Person.class); System.out.println(person.toString()); }
(4) FastJSON メソッドを使用する
エンティティ クラスから Json 文字列を生成する:
@Test public void EntityToJson(){ Person person = new Person("张三", "男", 25); Object jsonString = JSON.toJSON(person); System.out.println(jsonString.toString()); }
Generateentity class from Json 文字列:
@Test public void JsonToEntity(){ String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}"; Person person = JSON.parseObject(jsonString, Person.class); System.out.println(person.toString()); }
以上がJAVAのjsonを解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。