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();  
        }  
    }  
    

    }

  • 相关阅读:
    解析Java反射java.lang.IllegalArgumentException: wrong number of arguments
    java中参数" ..."的用法和意思
    Synchronized方法锁、对象锁、类锁区别
    瀚云平台kafka简单原理
    ReflectionUtils.invokeMethod的作用
    实用———springmvc接收参数校验
    卷积神经网络CNN
    第一个TensorFlow程序
    TF从文件中读取数据
    TF基础5
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7389781.html
Copyright © 2011-2022 走看看