ANDROID_MARS学习笔记_S02_013_Gson解析json串

1.MainActivity.java

 1 package com.json;
 2 
 3 import java.io.IOException;
 4 import java.io.StringReader;
 5 
 6 import android.annotation.SuppressLint;
 7 import android.app.Activity;
 8 import android.os.Bundle;
 9 import android.util.JsonReader;
10 import android.view.View;
11 import android.view.View.OnClickListener;
12 import android.widget.Button;
13 
14 public class MainActivity extends Activity {
15 
16 
17 
18     private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";
19     private Button button ;
20     
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         button = (Button)findViewById(R.id.buttonId);
26         button.setOnClickListener(new OnClickListener() {
27             @Override
28             public void onClick(View v) {
29                 JsonUtils jsonUtils = new JsonUtils();
30                 jsonUtils.parseJson(jsonData);
31             }
32         });
33     }
34     
35     class JsonUtils {
36         @SuppressLint("NewApi")
37         public void parseJson(String jsonData) {
38             JsonReader reader = new JsonReader(new StringReader(jsonData));
39             try {
40                 reader.beginArray();//开始解析数组
41                 while (reader.hasNext()) {
42                     reader.beginObject();//开始解析对象
43                     while (reader.hasNext()) {//开始解析键值对
44                         String tagName = reader.nextName();
45                         if(tagName.equals("name")) {
46                             System.out.println("name-->" + reader.nextString());
47                         } 
48                         else if(tagName.equals("age")) {
49                             System.out.println("age--->" + reader.nextInt());
50                         }
51                     }
52                     reader.endObject();
53                 }
54                 reader.endArray();
55             } catch (IOException e) {
56                 e.printStackTrace();
57             }
58         }
59     }
60 }

 

转载于:https://www.cnblogs.com/shamgod/p/5202260.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值