解析JSON文件

Posted zqxLonely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析JSON文件相关的知识,希望对你有一定的参考价值。

package com.pingyijinren.test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;

public class MainActivity extends AppCompatActivity{
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button=(Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sendRequestWithHttpURLConnection();
            }
        });
    }

    private void sendRequestWithHttpURLConnection(){
        new Thread(new Runnable(){
            @Override
            public void run(){
                try{
                    HttpClient httpClient = new DefaultHttpClient();
                    HttpGet httpGet=new HttpGet("http://172.29.209.1/get_data.json");
                    HttpResponse httpResponse=httpClient.execute(httpGet);
                    if(httpResponse.getStatusLine().getStatusCode()==200){
                        HttpEntity httpEntity=httpResponse.getEntity();
                        String response= EntityUtils.toString(httpEntity,"utf-8");

                        parseJSONWithJSONObject(response);
                    }
                }
                catch(Exception e){
                    e.printStackTrace();
                }
            }
        }).start();
    }

    private void parseJSONWithJSONObject(String jsonData){
        try{
            JSONArray jsonArray=new JSONArray(jsonData);
            for(int i=0;i<jsonArray.length();i++){
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                Log.d("MainActivity","id is "+jsonObject.getString("id"));
                Log.d("MainActivity","version is "+jsonObject.getString("version"));
                Log.d("MainActivity","name is "+jsonObject.getString("name"));
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}

 

以上是关于解析JSON文件的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 JSON 解析 [关闭]

解析:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

微信小程序json数据如何处理?

Golang实践录:反射reflect的一些研究及代码汇总

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段