在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 +” ”);   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] +” ”);   }

更多相关文章

  1. Android开发便签9:在android资源文件中定义字符串数组
  2. 使用android中的aapt查看安卓apk包信息
  3. Android中设计具有背景图的按钮—ImageButton的焦点及事件处理
  4. Android中使用WebView, WebChromeClient和WebViewClient加载网页
  5. 使用Android中的Parcelable序列化对象
  6. Android(安卓)-- ListView(1)
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)Service的思考(4)
  2. 我的第一个Android应用程序HelloWorld
  3. Cursor与Adapter结合使用
  4. Xamarin的Mono for Android目前可运行于M
  5. Ubuntu14.04 Android(安卓)源码编译
  6. Samsung Galaxy Nexus 正式發佈,4.65 吋 H
  7. Android中矢量图形的那些事 - SVG or Vec
  8. Android(安卓)反射机制
  9. Android集结号
  10. flutter项目的打包和发布 主要是Android