https://hianna.tistory.com/629 

HttpRespon res = new HttpRespon();

res.result = "ok";
res.data = "AAA#BBB#CCCC".split("#");


Gson gson = new Gson();

String json = gson.toJson(res);
System.out.println(json);


JsonElement jsonElement = JsonParser.parseString("{ \"key\":\"value\" }");
System.out.println(jsonElement.toString());

 

gson을 이용하여 직접 JSON 문자열 생성 및 파일저장


import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

public class JsonSolve1 {

    public static void main(String[] args) throws IOException {
        JsonObject jsonObj = new JsonObject();
        jsonObj.addProperty("name", "spiderman");
        jsonObj.addProperty("age", 45);
        jsonObj.addProperty("married", true);
       
        JsonArray jsonArr = new JsonArray();
        jsonArr.add("martial art");
        jsonArr.add("gun");
        jsonObj.add("specialty", jsonArr);
       
        JsonObject jsonObj2 = new JsonObject();
        jsonObj2.addProperty("1st", "done");
        jsonObj2.addProperty("2nd", "expected");
        jsonObj2.add("3rd", null);      
        jsonObj.add("vaccine", jsonObj2);
   
        JsonArray jsonArr2 = new JsonArray();
        jsonObj2 = new JsonObject();
        jsonObj2.addProperty("name", "spiderboy");
        jsonObj2.addProperty("age", 10);
        jsonArr2.add(jsonObj2);
   
        jsonObj2 = new JsonObject();
        jsonObj2.addProperty("name", "spidergirl");
        jsonObj2.addProperty("age", 8);
        jsonArr2.add(jsonObj2);

        jsonObj.add("children", jsonArr2);
        jsonObj.add("address", null);
           
        try (Writer writer = new FileWriter("sample.json")) {
            Gson gson = new GsonBuilder().serializeNulls().create();
            gson.toJson(jsonObj, writer);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
        System.out.println(jsonObj.toString());
        // 다른 방법  
        FileWriter fw = new FileWriter("sample2.json");
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(jsonObj.toString());
        bw.close();
        fw.close();    
    }
}

 

 

JsonElement jsonElement = JsonParser.parseString(json);

JsonObject obj = jsonElement.getAsJsonObject();

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonPrac {
   
    private static Gson gson = new Gson();

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
       
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("name","spiderman");
        jsonObject.addProperty("age",45);
        jsonObject.addProperty("married",true);
       
        JsonArray arr1 = new JsonArray();
        arr1.add("maritial art");
        arr1.add("gun");
        jsonObject.add("specialty",arr1);

   
       
        int readLine = 0;

        byte [] buffer = gson.toJson(jsonObject).getBytes();
       
        OutputStream os  = new FileOutputStream("D:\\기타\\교육\\SP 기본 교육\\jsonprace_input_output\\output\\sample.json");
        os.write(buffer,0, buffer.length);
       
        os.close();
       
       
        InputStream is = new FileInputStream("D:\\기타\\교육\\SP 기본 교육\\jsonprace_input_output\\output\\sample.json");

        readLine = 0;
        buffer = new byte[1024];
        StringBuilder str= new StringBuilder("");
        while ((readLine = is.read(buffer)) != -1) {
            str.append(new String(buffer, StandardCharsets.UTF_8));
        }
        System.out.println(str.toString());
        JsonElement element  = JsonParser.parseString(str.toString());
       
        JsonObject jsonObject1 = element.getAsJsonObject();
        System.out.println("name(age) : " + jsonObject1.get("name").getAsString() +"("+jsonObject1.get("age").getAsInt()+")");

       
    }

}
import java.io.FileReader;
import java.io.IOException;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonReader;

public class JsonSolve2 {

    public static void main(String[] args) {
        String filePath = "sample.json";
        try {
            Gson gson = new Gson();
            JsonReader reader = new JsonReader(new FileReader(filePath));
            JsonObject jsonObj = gson.fromJson(reader, JsonObject.class);

            String name = jsonObj.get("name").getAsString();
            int age = jsonObj.get("age").getAsInt();
            System.out.println("name:"+name + "("+age+")");
           
            JsonArray jsonArr = jsonObj.get("children").getAsJsonArray();
            JsonObject jsonObj2 = jsonArr.get(1).getAsJsonObject();
            name = jsonObj2.get("name").getAsString();
            age = jsonObj2.get("age").getAsInt();
            System.out.println("name:"+name + "("+age+")");
                   
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 

+ Recent posts