안드로이드 JSON 사용법
1. 생활 속에서 각 회사는 공공 API를 제공하여 프로그램에 접근하는 데이터를 제공한다. API를 호출함으로써 일반적으로 되돌아오는 데이터는 두 가지 형식이 있는데 그것이 바로 xml 형식이다.json 형식;2. JSON:* 개념: 일종의 경량급 데이터 교환 형식이다.언어에 완전히 독립된 텍스트 형식을 사용한다.3. json 데이터 형식 분류: * 키-values 형식;{name: "mike",age:18}* 객체 형식;{{name: "mike",age:18}, {name: "mike2",age:19}}주의: {}을 대상으로 함; *그룹 형식: {name: ["", "", ""],age:38} 주의: []는 그룹을 나타냅니다.*수조에 포함된 대상: {students: [{}, {}],age:33}팁: 만사만물은 대상이다.3. 데이터를 JSON의 형식으로 실현한다. 사례는 다음과 같다.
java 코드:
package com.example.json_parse;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EncodingUtils;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Xml.Encoding;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.JsPromptResult;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button parseJSON,achieveJSON;
private EditText show;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* */
parseJSON = (Button) findViewById(R.id.parseJSON);
achieveJSON = (Button) findViewById(R.id.achieveJSON);
show = (EditText) findViewById(R.id.show);
/* : JSON */
achieveJSON.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
achieve_JSON();
}
});
/* : JSON */
parseJSON.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
parse_JSON();
}
});
}
/* JSON */
protected void parse_JSON(){
try{
/* JSON , jsp */
String path ="http://192.168.16.16:8080/index1.jsp";
/* ; IP */
HttpGet httpGet = new HttpGet(path);
/* */
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(httpGet);
/* , ,200 */
if(httpResponse.getStatusLine().getStatusCode()==200){
Toast.makeText(MainActivity.this, " !", 1000).show();
HttpEntity httpEntity = httpResponse.getEntity();
/* : EntityUtils , */
String info = EntityUtils.toString(httpEntity, "UTF-8");
/* : JSONObject */
JSONObject person = new JSONObject(info);
/**********************************************************************/
/* key==students */
JSONObject students_value = (JSONObject) person.get("students");
/* key==school */
String school_value = EncodingUtils.getString(person.getString("school").getBytes(),"GBK") ;
/**********************************************************************/
/**********************************************************************/
/* key==students ,key==c1 *//* key==c2 */
JSONObject students_c1_value = students_value.getJSONObject("c1");
JSONObject students_c2_value = students_value.getJSONObject("c2");
/**********************************************************************/
/**********************************************************************/
/* key==students ,key==c1 , :key==class / number /detail */
String c1_class_value = students_c1_value.getString("class");
String c1_number_value = students_c1_value.getString("number");
JSONArray detail_value = students_c1_value.getJSONArray("detail");
/* detail */
String c1_detail_name_value = "";
String c1_detail_age_value = "";
ArrayList c1_detail_list = new ArrayList();
for(int i=0;i c2_detail_list = new ArrayList();
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.