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();
}
}
}