android Json 데이터 분석
"
userbean
"
:{
"
Uid
"
:
"
100196
"
,
"
Showname
"
:
"
\u75af\u72c2\u7684\u7334\u5b50
"
,
"
Avtar
"
:
null
,
"
State
"
:
1
}}
분석 코드는 다음과 같습니다.
// TODO 500 200
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 1200);
HttpConnectionParams.setSoTimeout(httpParameters, 1200);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
final HttpPost httpPost=new HttpPost("uri");
int res = 0;
try {
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 200 ,
* json ,
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
// userbean,:JSONObject jsonObject = new JSONObject(builder.toString());
JSONObject jsonObject = new JSONObject(builder.toString()).getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
배열 형식: 서버에서 반환되는 데이터 형식은 다음과 같습니다.
"
calendar
"
: {
"
calendarlist
"
: [ {
"
calendar_id
"
:
"
1705
"
,
"
title
"
:
"
(\u4eb2\u5b50)ddssd
"
,
"
category_name
"
:
"
\u9ed8\u8ba4\u5206\u7c7b
"
,
"
showtime
"
:
"
1288927800
"
,
"
endshowtime
"
:
"
1288931400
"
,
"
allDay
"
:
false
}, {
"
calendar_id
"
:
"
1706
"
,
"
title
"
:
"
(\u65c5\u884c)
"
,
"
category_name
"
:
"
\u9ed8\u8ba4\u5206\u7c7b
"
,
"
showtime
"
:
"
1288933200
"
,
"
endshowtime
"
:
"
1288936800
"
,
"
allDay
"
:
false
}} 분석 코드는 다음과 같습니다.
// TODO 500 200
final HttpPost httpPost=new HttpPost(url);
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 200 ,
* json ,
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
/**
* json ,
*/
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("calendar");
JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
CalendarInfo calendarInfo = new CalendarInfo();
calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
calendarInfo.setTitle(jsonObject2.getString("title"));
calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
calendarInfo.setShowtime(jsonObject2.getString("showtime"));
calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
calendarInfos.add(calendarInfo);
}
총괄적으로 말하면 일반적인 형식은 JSONObject만 사용하고 수조 형식을 가진 것은 JSONarray를 사용하여 이를list로 만들어야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.