我试图获得"行动" json响应的值并用textview显示, 这是我的json:
{"动作":"真"}
这是我的java代码
StringRequest stringRequest = new StringRequest(Request.Method.POST, reg_url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
JSONArray Jarray = object.getJSONArray("action");
String message = object.getString("action");
for (int i = 0; i < Jarray.length(); i++)
{
JSONObject Jasonobject = Jarray.getJSONObject(i);
}
txtproductsenf.setText(message);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
但我在我的textview中什么也没得到,我在Android Monitor中得到了这个:
&#34;在java.lang.String类型的操作中,值true无法转换为JSONArray&#34;
我该如何解决这个问题?
答案 0 :(得分:1)
因为这条线而停滞不前:
public function __construct(\Magento\Config\Model\ResourceModel\Config $resourceConfig) {
$this->resourceConfig = $resourceConfig;
}
JSONArray Jarray = object.getJSONArray("action");
实际上是一个JSON对象,而您试图将其转换为action
,因此JSONArray
。
下面应该有效:
Exception
答案 1 :(得分:0)
{"action":"true"}
它只有json Object而不是json数组,所以你将解析这个json String,如下所示
StringRequest stringRequest = new StringRequest(Request.Method.POST, reg_url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
String message = object.getString("action");
txtproductsenf.setText(message);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});