JSON_解析器jackson_hehe.employment.over.22.3


文書ディレクトリ
  • 22.5 JSON_解析器jackson_Javaオブジェクト変換
  • 22.5 JSON_解析器jackson_Javaオブジェクト変換
  • JSON解析器:
  • 一般的な解析器:Jsonlib,Gson,fastjson,jackson
  • JSONからJavaオブジェクトへの移行:
  • 1.jacksonの関連jarパッケージ(D:CodeSoftSource_Filejacksonのjarパッケージ)をインポートします.
  • jackson-annotations-2.2.3.jar
  • jackson-core-2.2.3.jar
  • jackson-databind-2.2.3.jar

  • 2.JacksonコアオブジェクトObjectMapperを作成します.
  • 3.ObjectMapperの関連メソッドを呼び出して変換します.
  • readValue(json ,Class)


  • Javaオブジェクト変換JSON:
  • 使用手順:
  • 1.jacksonの関連jarパッケージをインポートします.
  • 2.JacksonコアオブジェクトObjectMapperを作成します.
  • 3.ObjectMapperの関連メソッドを呼び出して変換します.
  • 変換方法:
  • writeValue( 1,obj)
  • パラメータ1:
  • File:objオブジェクトをJSON文字列に変換し、指定したファイルに保存します.
  • Writer:objオブジェクトをJSON文字列に変換し、jsonデータを文字出力ストリームに埋め込む.
  • OutputStream:objオブジェクトをJSON文字列に変換し、jsonデータをバイト出力ストリームに埋め込む.


  • writeValueAsString(obj):オブジェクトをjson文字列に変換します.

  • 注記:
  • @JsonIgnore:属性を除外します.
  • @JsonFormat:属性はフォーマットに値します
  • @JsonFormat(pattern = "yyyy-MM-dd")


  • 複雑javaオブジェクト変換:
  • List:配列
  • Map:オブジェクトフォーマットが一致する



  • 例:
  • package com.xww.web.test;
    
    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.xww.web.domain.Person;
    import org.junit.Test;
    
    import java.io.FileWriter;
    import java.util.*;
    
    public class JacksonTest {
         
        @Test
        public void test1() throws Exception {
         
            Person p = new Person();
            p.setName("xww");
            p.setAge(22);
            p.setGender(" ");
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(p);
           // System.out.println(json);//{"name":"xww","age":22,"gender":" ","birthday":null}
    
            //writeValue,     d://a.txt   
            //mapper.writeValue(new File("d://a.txt"),p);
    
            //writeValue.      Writer 
            mapper.writeValue(new FileWriter("d://b.txt"),p);
        }
    
        @Test
        public void test2() throws Exception {
         
            //1.  Person  
            Person p = new Person();
            p.setName("xww");
            p.setAge(22);
            p.setGender(" ");
            p.setBirthday(new Date());
    
            //  List  
            List<Person> ps = new ArrayList<Person>();
            ps.add(p);
    
            //2.  
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(ps);
            // [{},{},{}]
            System.out.println(json);//[{"name":"xww","age":22,"gender":" ","birthday":"2021-02-18"}]
        }
    
        @Test
        public void test3() throws Exception {
         
            //1.  map  
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("name","xww");
            map.put("age",22);
            map.put("gender"," ");
    
            //2.  
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(map);
            System.out.println(json);//{"gender":" ","name":"xww","age":22}
        }
    
        //   JSON     Java  
        @Test
        public void test5() throws Exception {
         
            //1.   JSON   
            String json = "{\"gender\":\" \",\"name\":\"xww\",\"age\":22}";
    
            //2.  ObjectMapper  
            ObjectMapper mapper = new ObjectMapper();
            //3.   Java   Person  
            Person person = mapper.readValue(json, Person.class);
            System.out.println(person);//Person{name='xww', age=22, gender=' '}
        }
    }