在android调用webservice时,经常要对json的格式进行处理,现在有两种方法
去处理:
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 +”\n\n”);
tv.append(“Place: “+ place +”\n\n”);
tv.append(“Date: “+ date +”\n\n”);
for(int i=0;i<message.length();i++)
{
tv.append(“Message: “+ message.getString(i) +”\n\n”);
}
2 使用GSON类库
GOOGLE提供的gson类库,地址在:
代码如下:
public class JSON_structure {
public String name;
public String place;
public String date;
public String[] message;
}
这其实是个POJO类
try {
/* Inflate TextView from the layout */
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 +”\n\n”);
tv.append(“Place: “+ obj.place +”\n\n”);
tv.append(“Date: “+ obj.date +”\n\n”);
for(int i=0;i<obj.message.length;i++)
{
tv.append(“Message: “+ obj.message[i] +”\n\n”);
}
}
catch(Exception ex){ex.printStackTrace();}
}
} catch (JSONException e) {e.printStackTrace();}
catch(Exception ex){ex.printStackTrace();}
}
}
Android中对json的解析和处理
原创
©著作权归作者所有:来自51CTO博客作者mb5c80f4c73b73a的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:junit 4.11中三个新功能
下一篇:php里的一个ORM方案
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
javascript中对json数据的处理
目前我们有两种常见的手段,在javascript中,对json数据进行处理:包括将一个json对象转换为字符串,以及将一个字符串还原为一个json对象 1. 使用json2.js处理 http://w...
json javascript 字符串 html json对象 -
android json 解析转码 android xml和json解析
JSON Vs XML相同点:1、两者的数据可读性基本相同 2、两者拥有同样丰富的解析手段异同点:1、json的数据体积更小
android json 解析转码 XML 数据 json