Android 如何使用单个元素解析JSON数组而不使用任何对象?

Android 如何使用单个元素解析JSON数组而不使用任何对象?,android,json,retrofit,gson,Android,Json,Retrofit,Gson,我正在使用改型,它使用GSON进行解析。服务器将检查我发送的参数,并相应地返回两个响应。 如果参数有效,我将得到以下响应 [ true ] 如果它无效,那么我得到的响应是 [ "Sorry, <em class=\"placeholder\">names@gmail.inp</em> is not recognized as a user name or an e-mail address." ] [ “对不起,names@gmail.i

我正在使用改型,它使用GSON进行解析。服务器将检查我发送的参数,并相应地返回两个响应。 如果参数有效,我将得到以下响应

[
  true
]
如果它无效,那么我得到的响应是

   [
      "Sorry, <em class=\"placeholder\">names@gmail.inp</em> is not recognized as a user name or an e-mail address."
    ]
[
“对不起,names@gmail.inp无法识别为用户名或电子邮件地址。“
]
这是我正在使用的调用方法

@凌驾

public void onResponse(Call<String> call, Response<String> response) {
mProgressBar.setVisibility(View.GONE);
    Log.d("Response ", ""+response);


}
public void onResponse(调用、响应){
mProgressBar.setVisibility(View.GONE);
Log.d(“响应”,“响应+响应”);
}
这里response.body给我的是null。但是有一个响应。它可以在OKHttp日志中查看。

JSONArray jarray=newJSONObject(jsonString);
JSONArray jarray = new JSONObject(jsonString);
for (int i = 0; i < jarray.length(); i++) {
      String string = jarray.getString(i);
      log.e("String",string);
}
for(int i=0;i

这很有效。请尝试此操作。

您可以使用由Gson提供的
JsonParser
。它将把json输入解析为动态JsonElement

请看一个例子:

你可以试试这个

 JSONArray jArray=new JSONArray(yourString);

 String str=jArray.getString(0);;
 if(str.equalsIgnoreCase("true")
 {
      //your code
 }else
 {
 }

因为服务器返回不同的代码

你能试试吗

Call<Void> 
呼叫
并检查响应代码 这可能暂时有效,直到您知道什么是错误的,void不会解析任何东西,所以它不应该导致崩溃

///////

你试过了吗

Call<ArrayList<String>>
呼叫

另外,您确定服务器在这两种情况下都返回200吗?

将该参数设置为
对象。解析后,检查解析的对象
instanceof
布尔值还是字符串。我没有得到jsonob值。我甚至没有得到StringResponse值。body()在我的活动中为空。但是我们可以看到一个响应inD/OkHttp:[“对不起,gjgh@gmail.com未被识别为用户名或电子邮件地址。“]首先将其转换为字符串,然后再尝试。这就是我正在尝试的!!这实际上是我的问题,我甚至没有得到JSONObject,但你可以在成功的改造方法中得到响应。在这个on-siccess方法中,您可以直接解析。我得到null作为response.body()首先检查您的url。如果url是正确的,请检查您的改装代码.public void onResponse(Call-Call,Response-Response){String sresponce=Response.body();}我首先尝试了这个。当时我遇到了空指针异常。服务器在两种情况下分别返回200和406。请尝试致电并告诉我情况如何
Call<ArrayList<String>>