이 JSON 문자열을 이해하는 데 문제가 있습니다.GSON으로 JSON 해석 및 읽기
{
"results":[
{
"user":{
"gender":"female",
"name":{
"title":"miss",
"first":"taylor",
"last":"anderson"
},
"location":{
"street":"3645 dogwood ave",
"city":"roseburg",
"state":"new hampshire",
"zip":"20963"
},
"email":"[email protected]",
"username":"heavyduck595",
"password":"liverpool",
"salt":"UK`o;9a_",
"md5":"6c8db0305b4591d8d9820d9f8edfd162",
"sha1":"906df4c09f3a87899666cb57bf974bd9b1950ea6",
"sha256":"3b12f5e51688578f845bef8ae1750d3e263c2010691010a80ce632a6b2323c03",
"registered":"1359027425",
"dob":"16243995",
"phone":"(934)-888-7068",
"cell":"(727)-467-8384",
"SSN":"697-20-6143",
"picture":"http://api.randomuser.me/0.3/portraits/women/30.jpg"
},
"seed":"5eaf02877746c7e",
"version":"0.3"
}
]
}
처음으로 JSON을 처음 사용하고 적절하게 해석하려고합니다. 이것은 내가 지금까지 가지고있는 코드입니다 :
static class Results{
String results;
}
static class User{
String gender;
String name;
String location;
List<Results> items;
}
private static String readUrl(String urlString) throws Exception {
BufferedReader reader = null;
try {
URL url = new URL(urlString);
reader = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuffer buffer = new StringBuffer();
int read;
char[] chars = new char[1024];
while ((read = reader.read(chars)) != -1)
buffer.append(chars, 0, read);
return buffer.toString();
} finally {
if (reader != null)
reader.close();
}
}
public void larry() throws Exception{
String json = readUrl("http://api.randomuser.me/");
System.out.println(json);
Gson gson = new Gson();
User page = gson.fromJson(json, User.class);
System.out.println(page.name);
for (Results item : page.items)
System.out.println(" " + item.results);
}
들여 쓰기를 인쇄하기위한 다른 방법으로 ""와 같은 여러 개의 공백 대신 표제기를 "\ t"사용할 수 있습니다. – Kuchi
다른 작업을하기 전에 json.org로 이동하여 JSON 구문을 익히는데 5 분이 걸립니다. 매우 간단하고 이해하기 쉽습니다. 그런 다음 GSON과 같은 것을 사용하여 직접 사용자 정의 Java 객체를 생성하기 전에 "깨끗한"JSON 파서 중 하나를 사용하여 JSON을지도와 목록으로 구문 분석하고 그 주위의 방법을 학습하십시오. 그렇다면 GSON 외의 복잡성은 훨씬 이해하기 쉬울 것입니다. –
(Google은 "JSON 온라인 파서"용) - JSON 문자열을 구문 검사하고 형식을 지정하는 몇 가지 온라인 도구가 있으므로 읽기 쉽습니다. –