zoukankan      html  css  js  c++  java
  • android 中解析json格式数据

    本文来自http://tonysun3544.iteye.com/category/188238

    package com.tony.json;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    public class JsonActivity extends Activity {
    /* Called when the activity is first created. /

    private String jsonData = "[{"name":"zhangsan","age":22},{"name":"lisi","age":23}]";  
    private Button jsonButton;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        jsonButton = (Button) findViewById(R.id.json_button);  
        jsonButton.setOnClickListener(new View.OnClickListener() {  
    
            @Override  
            public void onClick(View v) {  
                JsonUtils jsonUtils = new JsonUtils();  
                jsonUtils.parseJson(jsonData);  
            }  
        });  
    }  
    

    }

    这个类中主要是解析json数组:

    Java代码 收藏代码
    package com.tony.json;

    import java.io.IOException;
    import java.io.StringReader;

    import android.util.Log;

    import com.google.gson.stream.JsonReader;

    public class JsonUtils {
    private static final String TAG = “JsonUtils”;

    public void parseJson(String jsonData){  
        JsonReader reader = new JsonReader(new StringReader(jsonData));  
        try {  
            reader.beginArray();    // 開始解析数组  
            while (reader.hasNext()) {  
                reader.beginObject();   // 開始解析对象  
                while (reader.hasNext()) {  
                    String tagName = reader.nextName(); // 得到键值对中的key  
                    if (tagName.equals("name")) {   // key为name时  
                        Log.i(TAG, "name--------->" + reader.nextString());  // 得到key中的内容  
                    }else if (tagName.equals("age")) {  // key为age时  
                        Log.i(TAG, "age--------->" + reader.nextInt());  // 得到key中的内容  
                    }  
                }  
                reader.endObject();  
            }  
            reader.endArray();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
    

    }

  • 相关阅读:
    C语言之数据类型(int float double char unsigned )
    c语言的第一个程序
    socket之udp服务器和客户端
    页面置换算法的模拟实现 C
    C算法--入门篇(1)图形输出
    C算法--入门篇(1)查找元素
    C算法--入门篇(1)入门模拟2
    C算法--入门篇(1)入门模拟1
    C算法--黑盒测试
    C算法--复杂度
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7389781.html
Copyright © 2011-2022 走看看