Java 无法在asyncTask中的onPostExecute中将json字符串设置为TextView

Java 无法在asyncTask中的onPostExecute中将json字符串设置为TextView,java,json,android-asynctask,Java,Json,Android Asynctask,我现在面临的问题是,我只想在onPostExecute()中设置json数组中的字符串数据。我浏览了很多关于它的教程,但是,我无法设置驻留在MainActivity中的文本。我在下面添加了示例代码。我想知道数据是否有误 @SuppressWarnings("unchecked") protected void onPostExecute(JSONObject jsonobject) { try { jsonarray = jsonobject.ge

我现在面临的问题是,我只想在onPostExecute()中设置json数组中的字符串数据。我浏览了很多关于它的教程,但是,我无法设置驻留在MainActivity中的文本。我在下面添加了示例代码。我想知道数据是否有误

@SuppressWarnings("unchecked")
    protected void onPostExecute(JSONObject jsonobject) {
        try {
            jsonarray = jsonobject.getJSONArray("grape");
            outerjson = jsonarray;
            String ids = jsonobject.optString("id");
            String tpes = jsonobject.optString("type");


            for (int i = 0; i < jsonarray.length(); i++) {
                HashMap<String, String> map = new HashMap<String, String>();
                jsonobject = jsonarray.getJSONObject(i);
                String str = "";}

            // Step 3.
            map1 = new HashMap<String, String>();
            // this is the last step 4.
            try {
                JSONArray jArray = new JSONArray(str);

                for (int i = 0; i < jArray.length(); i++) {
                    JSONObject json = null;
                    json = jArray.getJSONObject(i);
                    map1.put("id", json.getString("id"));
                    map1.put("type", json.getString("type"));

                }

                result.setText(jsonarray.toString());


                ///set the json in here
            }catch (JSONException e) {}
        } catch (JSONException e) {}
        progressDialog.dismiss();
    }
@SuppressWarnings(“未选中”)
受保护的void onPostExecute(JSONObject JSONObject){
试一试{
jsonarray=jsonobject.getJSONArray(“葡萄”);
outerjson=jsonarray;
字符串id=jsonobject.optString(“id”);
字符串tpes=jsonobject.optString(“类型”);
for(int i=0;i
信息不足,但我将尝试:

  • 使用容器实体使代码更干净:
    MyData=gson.fromJson(jsonobject,MyData.class)
  • 不要忽略例外情况
  • 确保您正在调用
    result.setText(字符串)在主UI线程中

  • 按照这3个步骤,找到错误,您将。

    发布您的
    jsonobject
    ,向我们展示JSON数据的结构。这是JSON数据的类型,我想从该数据中获取类型。{“grape”:[{“id”:“4”,“type”:“2\u7b49”}],“result”:“OK”}您的代码看起来乱七八糟。你知道你到底想要什么吗?这完全是一团糟,但是,这是有原因的…谢谢!我要试试看!