Json解析学习笔记

将map写入json文件

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.HashMap;

public class test {
    @Test
    void writeIntoJsonFile() throws IOException {
        HashMap token = new HashMap<>();
        token.put(key,value);
        ObjectMapper mapper = new ObjectMapper(new JsonFactory());
        mapper.writeValue(Paths.get("token.json").toFile(),token);
    }
}

利用 JsonPath 读取json文件为Sting,并修改值

import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;

public class test {
    @Test
    void getTokenFromJsonFile() throws IOException {
        //利用 JsonPath 读取json文件为Sting
        DocumentContext document = JsonPath.parse(new File("token.json"));
        String jsonString = document.jsonString();
        System.out.println(jsonString);

   //利用JsonPath 重写value
       // document .set(jsonPath语句,值);
        document .set("$.name",XXXX);
    }

}

读取json文件为 map

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;

public class test {
    @Test
    void getTokenFromJsonFile() throws IOException {
        //  读取json文件为 map
        ObjectMapper mapper = new ObjectMapper(new JsonFactory());
        TypeReference> typeReference = new TypeReference>() {
        };
        HashMap stringHashMap = mapper.readValue(new File("token.json"), typeReference);
//        String access_token1 = stringHashMap.get("access_token");
    }
}

你可能感兴趣的:(Json解析学习笔记)