【转】Android中对json的解析和处理
16lz
2021-01-23
在android调用webservice时,经常要对json的格式进行处理,现在有两种方法
去处理:
1 使用JSONObject 和 JSONTokener去解析
2 使用GSON库
先看第一种方法,假如有如下的json字符串:
{
“name”: “myName”,
“message”: ["myMessage1","myMessage2"],
“place”: “myPlace”,
“date”: ”thisDate”
}
第一种解决方法:
2 使用GSON类库
GOOGLE提供的gson类库,地址在:
去处理:
1 使用JSONObject 和 JSONTokener去解析
2 使用GSON库
先看第一种方法,假如有如下的json字符串:
{
“name”: “myName”,
“message”: ["myMessage1","myMessage2"],
“place”: “myPlace”,
“date”: ”thisDate”
}
第一种解决方法:
public class main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { TextView tv = (TextView)findViewById(R.id.TextView01); String json = “{” + “ ”name”: ”myName”, ” + “ ”message”: [\"myMessage1\",\"myMessage2\"],” + “ ”place”: ”myPlace”, ” + “ ”date”: ”thisDate” ” + “}”; /* Create a JSON object and parse the required values */ JSONObject object = (JSONObject) new JSONTokener(json).nextValue(); String name = object.getString(“name”); String place = object.getString(“place”); String date = object.getString(“date”); JSONArray message = object.getJSONArray(“message”); tv.setText(“Name: “+ name +” ”); tv.append(“Place: “+ place +” ”); tv.append(“Date: “+ date +” ”); for(int i=0;i< p> { tv.append(“Message: “+ message.getString(i) +” ”); }
2 使用GSON类库
GOOGLE提供的gson类库,地址在:
public class JSON_structure { public String name; public String place; public String date; public String[] message; }
TextView tv = (TextView)findViewById(R.id.TextView01); /* JSON data considered as an example. Generally this data is obtained from a web service.*/ String json = “{” + “ ”name”: ”myName”, ” + “ ”message”: [\"myMessage1\",\"myMessage2\"],” + “ ”place”: ”myPlace”, ” + “ ”date”: ”thisDate” ” + “}”; Gson gson = new Gson(); JSON_structure obj= gson.fromJson(json, JSON_structure.class); tv.setText(“Name: “+ obj.name +” ”); tv.append(“Place: “+ obj.place +” ”); tv.append(“Date: “+ obj.date +” ”); for(int i=0;i< p> { tv.append(“Message: “+ obj.message[i] +” ”); }
更多相关文章
- android 4.4 设置默认日期格式
- Android开发便签9:在android资源文件中定义字符串数组
- android的九宫格式实现
- Android下如何计算要显示的字符串所占的宽度和高度
- 如何POST一个JSON格式的数据给Restful服务
- Android遍历获取Office格式(Word,Excel,PPT,PDF)的文件并打开
- Android中文API合集(7) + 开发者指南合集(2) (chm格式)