Android 如何使用单个元素解析JSON数组而不使用任何对象?
我正在使用改型,它使用GSON进行解析。服务器将检查我发送的参数,并相应地返回两个响应。 如果参数有效,我将得到以下响应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
[
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>>