首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误: org.json.JSONException:没有值作为描述

错误: org.json.JSONException:没有值作为描述
EN

Stack Overflow用户
提问于 2019-04-29 01:45:36
回答 1查看 1.9K关注 0票数 0

我的主要活动是

代码语言:javascript
复制
    package com.blogspot.ajjavaprograms.i_bid;

import android.app.ProgressDialog;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.widget.Toast;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class Painting extends AppCompatActivity {
    private RecyclerView mList;
    private LinearLayoutManager linearLayoutManager;
    private List<Data> data;
    private DividerItemDecoration dividerItemDecoration;
    private RecyclerView.Adapter adapter;

        @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_painting);
            mList=findViewById(R.id.recyclerview1);
            data=new ArrayList<>();
            adapter=new Data_Adapter(getApplicationContext(),data);
            linearLayoutManager=new LinearLayoutManager(this);
            linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
            dividerItemDecoration= new DividerItemDecoration(mList.getContext(),linearLayoutManager.getOrientation());
            mList.setAdapter(adapter);
            mList.setLayoutManager(linearLayoutManager);
            mList.addItemDecoration(dividerItemDecoration);
            mList.setHasFixedSize(true);
            getData();
            }
            private  void getData()
            {
                final ProgressDialog progressDialog = new ProgressDialog(this);
                progressDialog.setMessage("Loading...");
                progressDialog.show();

                final JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Constants.paint, new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        for (int i = 0; i < response.length(); i++) {
                            try {
                                JSONObject jsonObject = response.getJSONObject(i);

                                Data data1 = new Data();
                                if(jsonObject.has("itemname"))
                                data1.setItemname(jsonObject.getString("itemname"));
                                data1.setDescription(jsonObject.getString("description"));
                                data1.setPrice(jsonObject.getString("price"));

                                data.add(data1);
                            } catch (JSONException e) {
                                e.printStackTrace();
                                progressDialog.dismiss();
                            }
                        }
                        adapter.notifyDataSetChanged();
                        progressDialog.dismiss();
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.e("Volley", error.toString());
                        progressDialog.dismiss();
                    }
                });
                RequestQueue requestQueue = Volley.newRequestQueue(this);
                requestQueue.add(jsonArrayRequest);
            }
            }

运行时的错误是

W/System.err: org.json.JSONException: org.json.JSONObject.get(JSONObject.java:392) W/System.err: at org.json.JSONObject.getStri的描述无值

  1. 列表项

ng(JSONObject.java:553)

at com.blogspot.ajjavaprograms.i\_bid.Painting$1.onResponse(Painting.java:67) at com.blogspot.ajjavaprograms.i\_bid.Painting$1.onResponse(Painting.java:57) at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90) at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6762) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) W/System.err: org.json.JSONException:在org.json.JSONObject.getString(JSONObject.java:553) W/System.err: at com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:67) at com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:57)的org.json.JSONObject.get(JSONObject.java:392)没有值在com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90) at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6762) at java.lang.reflect.Method.invoke(本机方法) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) org.json.JSONException: No value at org.json.JSONObject.get(JSONObject.java:392) W/System.err: at org.json。com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:68) at com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:57) at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90) at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102) at android.os.Handler的JSONObject.getString(JSONObject.java:553)。handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6762) at java.lang.reflect.Method.invoke(本机方法) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) W/System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) org.json.JSONException:在com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:67) at com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting的org.json.JSONObject.getString(JSONObject.java:553) at org.json.JSONObject.get(JSONObject.java:392)没有值com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102) W/System.err:在android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193)at android.app.ActivityThread.main(ActivityThread.java:6762) at java.lang.reflect.Method.invoke(本机方法) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) org.json.JSONException:无描述W/System.err: at org.json.JSONObject.get(JSONObject.java:392)的值在org.json.JSONObject.getString(JSONObject.java:553)在com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:67)在com.blogspot.ajjavaprograms.i_bid.Painting$1.onResponse(Painting.java:57)在com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90)在com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)在android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6762) W/System.err: at java.lang.reflect.Method.invoke(本机方法) at System.err:493)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)应用程序终止时。

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-29 03:52:39

description没有值表示当前json对象中没有可用的键。请尝试以下内容:

代码语言:javascript
复制
   if(jsonObject.has("itemname")){
        data1.setItemname(jsonObject.getString("itemname"));
     } else if(jsonObject.has("descript")){
        data1.setDescription(jsonObject.getString("descript"));
      }else if(jsonObject.has("price")){
        data1.setPrice(jsonObject.getString("price"));
      }
       data.add(data1);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55892980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档