Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android HTTP对字符串错误解释的响应_Android_Json_String - Fatal编程技术网

Android HTTP对字符串错误解释的响应

Android HTTP对字符串错误解释的响应,android,json,string,Android,Json,String,我正在调用一个url,它提供了一个普通的JSON对象。我可以在iOS上轻松地处理它,但在android中,当我将它转换为字符串进行JSON解析时,它会被转换为字符串,如下所示 这是sResponse: ���������������Z[s�Z~�`x�ξ_��5c�16Ɯ�8(T9��一:��gc�v� ��P��� JSON非常简单 { "results" : [ { "place_id" : "ChIJMcnuVqdPzDERUH

我正在调用一个url,它提供了一个普通的
JSON
对象。我可以在
iOS
上轻松地处理它,但在
android
中,当我将它转换为字符串进行JSON解析时,它会被转换为
字符串
,如下所示 这是
sResponse

���������������Z[s�Z~�`x�ξ_��5c�16Ɯ�8(T9��一:��gc�v� ��P���

JSON非常简单

 {
       "results" : [
          {
             "place_id" : "ChIJMcnuVqdPzDERUHq6Bp5sv_A",
             "types" : [ "street_address" ]
          } 
       ]
   }
我以前也能解决类似的问题,但这似乎无法解决。。 任何帮助都会很好的谢谢

这就是em试图解析它的方式

public void onSuccess(int statusCode, Header[] headers, byte[] response) {
     String sResponse = new String(response);
     JSONObject mainObject = new JSONObject(sResponse);
     JSONArray resultsArray = mainObject.getJSONArray("results");
}

正如我从您正在使用的库中看到的,您可以得到一个字符串响应

asyncHttpClient.prepareGet("http://www.ning.com/").execute(new AsyncCompletionHandler<Response>(){

    @Override
    public Response onCompleted(Response response) throws Exception{
        // Do something with the Response
        // get the string body with the response.getResponseBody()
        return response;
    }

    @Override
    public void onThrowable(Throwable t){
        // Something wrong happened.
    }
});
asyncHttpClient.prepareGet(“http://www.ning.com/execute(新的AsyncCompletionHandler(){
@凌驾
公共响应onCompleted(响应响应)引发异常{
//对回应做点什么
//获取带有响应的字符串主体。getResponseBy()
返回响应;
}
@凌驾
可滚动的公共空间(可丢弃的t){
//出了点事。
}
});

您在
sResponse
中得到了什么响应?这是sResponse���������������Z[s�Z~�`x�ξ_��5c�16Ɯ�8(T9��一:��gc�v� ��P���我猜它来自一个压缩流。试着使用gzip方法来解压为什么要将响应作为字节[]?我建议只使用volley的StringRequest,然后将其转换为json对象。