【问题标题】:Json parsing in android studio [duplicate]android studio中的Json解析[重复]
【发布时间】:2020-08-04 06:35:44
【问题描述】:

我正在尝试使用 json 解析从 android 上的 php 服务器获取数据。这是我的android代码.....

我无法获取数据并收到一些错误,我在下面附上了屏幕截图。我无法弄清楚。

package com.example.ecogreen;
import android.os.AsyncTask;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;


public class FetchData extends AsyncTask {


    String fetched_data="",extracted="";

    @Override
    protected void onPostExecute(Object o) {
        super.onPostExecute(o);
        Features.data.setText(this.extracted);
    }

    @Override
    protected Object doInBackground(Object[] objects) {
        try {
            URL url = new URL("https://192.168.0.197/?");
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            InputStream inputStream = httpURLConnection.getInputStream();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            String line = "";
            while(line != null){
                line = bufferedReader.readLine();

            }


            JSONArray JA = new JSONArray();
            for(int i =0 ;i < JA.length(); i++){
                JSONObject JO = (JSONObject) JA.get(i);



                fetched_data = "Temperature" + JO.getString("temprature") + "\n" +
                        "moisture1" + JO.getString("moisture1") + "\n" +
                        "humidity" + JO.getString("humidity") + "\n" +
                        "moisture2" + JO.getString("moisture2") + "\n" ;


                extracted = extracted + fetched_data + "\n";
}

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;


    }
}

我将这些数据放入数组并编码为 json。它是这样显示的:

这是尝试获取时出现的错误:

Attempt to invoke virtual method 'void android.widget.TextView.SetText(java.lang.CharSequence)' on a null object reference

【问题讨论】:

    标签: android json


    【解决方案1】:

    检查您是否将 TextView 与 findViewById() 或您用于绑定视图的任何其他方法绑定

    【讨论】:

    • 我正在绑定...findViewByid()
    • 检查你是否正在使用 findViewById() 和你想要设置的文本视图
    猜你喜欢
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2018-04-12
    相关资源
    最近更新 更多