JSon 해석 문자열 해석 간단 한 실례
5782 단어 Android
{"info":[{"code":"C","key":"028","nearest":"NO","value":"�ɶ�"},{"code":"N","key":"0771","nearest":"NO","value":"����"},{"code":"L","key":"0772","nearest":"NO","value":"����"},{"code":"G","key":"0773","nearest":"NO","value":"����"}],"resultCode":"0","resultInfo":"SUCCESS"}
사이트 주소:http://www.bejson.com/go.html?u=http://www.bejson.com/jsonview2/(JSon 보기)
STEP 1: JSON S 보 기 를 보고 가장 안쪽 에서 바깥쪽 으로 쓰 려 고 합 니 다.
여기 서 강조 하 는 것 은 반드시 일일이 대응 해야만 해석 할 수 있다 는 것 이다.
1 층 코드:
package com.example.com.scxh.jsonjiexi;
// CityBean
public class CityBean {
private String code;
private String key;
private String nearest;
private String value;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getNearest() {
return nearest;
}
public void setNearest(String nearest) {
this.nearest = nearest;
}
public String getLvalue() {
return value;
}
public void setLvalue(String lvalue) {
this.value = lvalue;
}
}
2 층: 안에서 밖으로 세 는 2 층
package com.example.com.scxh.jsonjiexi;
import java.io.Serializable;
import java.util.List;
import junit.runner.Version;
import org.apache.http.entity.SerializableEntity;
public class UpdateDao implements Serializable{
private List info;
private String resultInfo;
private String resultCode;
public List getInfo() {
return info;
}
public void setInfo(List info) {
this.info = info;
}
public String getResultInfo() {
return resultInfo;
}
public void setResultInfo(String resultInfo) {
this.resultInfo = resultInfo;
}
public String getResultCode() {
return resultCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
}
세 번 째 단계: 주 Activty 에서 분석 합 니 다. (여기 서 어댑터 를 주 Activty 에 같이 썼 습 니 다)
package com.example.com.scxh.jsonjiexi;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView mlListView;
private MyBaseAdapter mmAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mlListView = (ListView) findViewById(R.id.listviews);
// assets ( )
String json = ReadAssetsFile.readtxt(this, "citymessage.txt");
Log.e("json", json);
// UpdateDao user = JSON.parseObject(json, UpdateDao.class);
Gson gson=new Gson();
UpdateDao user=gson.fromJson(json, UpdateDao.class);
List list = user.getInfo();
mmAdapter = new MyBaseAdapter(this);
mlListView.setAdapter(mmAdapter);
mmAdapter.setData(list);
}
public class MyBaseAdapter extends BaseAdapter {
private List mList = new ArrayList();
private LayoutInflater mInflater;
private Context mcontext;
public MyBaseAdapter(Context context) {
mcontext = context;
mInflater = LayoutInflater.from(mcontext);
}
public MyBaseAdapter(Context context, List list) {
mcontext = context;
mInflater = LayoutInflater.from(mcontext);
mList = list;
}
public void setData(List list) {
mList = list;
notifyDataSetChanged();
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.listview, null);
holder.titleTxt = (TextView) convertView
.findViewById(R.id.textviews);
holder.infoTxt = (TextView) convertView
.findViewById(R.id.textviewss);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
CityBean msg = (CityBean) getItem(position);
;
holder.titleTxt.setText(msg.getCode());
holder.infoTxt.setText(msg.getKey());
return convertView;
}
class ViewHolder {
TextView titleTxt = null;
TextView infoTxt = null;
}
}
}
---------------------------------------------------------------------------------------
파일 읽 기 (스 트림 읽 기) 를 승 덕 클래스 로 단독 패키지 합 니 다.
package com.example.com.scxh.jsonjiexi;
import java.io.IOException;
import java.io.InputStream;
import android.content.Context;
//
public class ReadAssetsFile {
private static String text;
public static String readtxt(Context context, String name) {
try {
InputStream is = context.getAssets().open(name);
int size = is.available();
// Read the entire asset into a local byte buffer.
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
// Convert the buffer into a string.
text = new String(buffer, "utf-8");
} catch (IOException e) {
e.printStackTrace();
}
return text;
}
}
-----------------------------------------------------------------------------------
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.