JSON을 이해 한 적이 있지만 내부 객체를 읽는 데 약간의 문제가있는 것 같습니다 (예 : Cover
).내부 JSON 객체에서 읽는 중 JAVA
{
"id": "19292868552",
"about": "Build, grow, and monetize your app with Facebook.\nhttps://developers.facebook.com/",
"can_post": false,
"category": "Product/service",
"checkins": 1,
"company_overview": "Visit https://developers.facebook.com for more information on how to build, grow, and monetize your app.\n\nIf you have questions about using Facebook or need help with general inquiries, visit https://www.facebook.com/facebook or our Help Center at http://www.facebook.com/help.\n\nIf you need to report bugs, appeal apps, or ask detailed technical questions, visit the following:\nAppeal Apps: https://developers.facebook.com/appeal\nReport Bugs: http://developers.facebook.com/bugs\nTechnical Questions: http://facebook.stackoverflow.com/",
"cover": {
"cover_id": "10152004458663553",
"offset_x": 0,
"offset_y": 0,
"source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xap1/v/t1.0-9/s720x720/1466030_10152004458663553_1984809612_n.jpg?oh=97b895edc21d21c0f40a67a6de6077bd&oe=54BBD66C&__gda__=1422540117_30f73303c987294f8ffccd193d190941"
},
"has_added_app": false,
"is_community_page": false,
"is_published": true,
"likes": 3262128,
"link": "https://www.facebook.com/FacebookDevelopers",
"name": "Facebook Developers",
"parking": {
"lot": 0,
"street": 0,
"valet": 0
},
"talking_about_count": 10066,
"username": "FacebookDevelopers",
"website": "http://developers.facebook.com",
"were_here_count": 0
}
JSON에서 읽으려고했는데, 커버 부분을 치기 전까지 작동합니다. 아직 parking
개체에 액세스하려고 시도하지는 않았지만 문제는 동일하다고 가정합니다.
public FacebookCover createFacebookCoverObject (String json) throws
JSONException {
FacebookCover facebookCover = new FacebookCover();
JSONObject obj = new JSONObject(json);
facebookCover.setAbout(obj.getString("about"));
facebookCover.setCategory(obj.getString("category"));
facebookCover.setCompanyOverview(obj.getString("company_overview"));
facebookCover.setId(obj.getString("id"));
facebookCover.setIsPublished(obj.getBoolean("is_published"));
facebookCover.setLikes(obj.getInt("likes"));
facebookCover.setLink(obj.getString("link"));
facebookCover.setName(obj.getString("name"));
facebookCover.setTalkingAboutCount(obj.getInt("talking_about_count"));
facebookCover.setUserName(obj.getString("username"));
facebookCover.setWebsite(obj.getString("website"));
facebookCover.setWereHereCount(obj.getInt("were_here_count"));
Cover theCover = new Cover();
JSONObject obj2 = new JSONObject();
theCover.setCoverId((obj2.getString("cover_id")));
theCover.setOffSetX(obj2.getInt("offset_x"));
theCover.setOffSetY(obj2.getInt("offset_y"));
theCover.setSource(obj2.getString("source"));
return facebookCover;
}
여기는 또한 내 테스트 방법입니다.
public void testCreateFavebookCoverObject() throws Exception {
System.out.println("createFavebookCoverObject");
String url = "https://graph.facebook.com/19292868552/";
InputStream is = new URL(url).openStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String s = null;
s = rd.readLine();
System.out.println(s);
FacebookCover instance = new FacebookCover();
FacebookCover result = instance.createFacebookCoverObject(s);
}
왜'된 JSONObject가 obj2 = 새로운 된 JSONObject() 것이다 '아무것도 포함되어 있습니까? –
죄송합니다. 나는 그것을 바꿀 생각이었습니다 ... 그것이 제 문제였습니다. 상당히 바보 같았습니다. – TheCrownedPixel