我需要在Android应用程序中以JSON格式从服务器接收数据

我需要在Android应用程序中以JSON格式从服务器接收数据,android,json,Android,Json,这是我的JSON { "keys": [ "10_Ultimate", "20_Yemensoft" ] } 当我直接点击Url时,我得到了正确的响应,但不是来自Android。我还看到jsonlint中的JSON格式是正确的。但我得到了以下信息: org.json.JSONException:的字符11处的未终止数组 [B@41c16df8 当我点击网址时 我得到了正确的json响应,我也在jsonlint.com中验证过 { "keys" : [ "10_U

这是我的JSON

 {
  "keys": [
    "10_Ultimate",
    "20_Yemensoft"
  ]
}
当我直接点击Url时,我得到了正确的响应,但不是来自Android。我还看到jsonlint中的JSON格式是正确的。但我得到了以下信息:

org.json.JSONException:的字符11处的未终止数组 [B@41c16df8

当我点击网址时

我得到了正确的json响应,我也在jsonlint.com中验证过

{
  "keys" : [ "10_Ultimate", "20_Yemensoft" ]
}
当我尝试从android反序列化时,会在字符11处显示sorg.json.JSONException:Unterminated数组

 @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] response) {
                  JSONObject jsnObj  = new JSONObject();
                  String res = response.toString();
                try {
                    JSONObject json = new JSONObject(res);
                    JSONArray jsnArry = json.getJSONArray("keys");
                    for (int i = 0 ; i < jsnArry.length() ; i++){
                         jsnObj = jsnArry.getJSONObject(i);
                    }
                    Log.d("jsnObj",jsnObj.toString());
                    Log.d("jsnArry",jsnArry.toString());

                } catch (JSONException e) {
                    e.printStackTrace();
                }

                Log.d("The Positive  are",res);

            }
@覆盖
成功时公共无效(int statusCode,头[]头,字节[]响应){
JSONObject jsnObj=新的JSONObject();
String res=response.toString();
试一试{
JSONObject json=新的JSONObject(res);
JSONArray jsnArry=json.getJSONArray(“键”);
for(int i=0;i
当我点击Url时

我得到了正确的json响应,我也在jsonlint.com中验证过

{
  "keys" : [ "10_Ultimate", "20_Yemensoft" ]
}
当我尝试从android反序列化时,会在字符11处显示sorg.json.JSONException:Unterminated数组

 @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] response) {
                  JSONObject jsnObj  = new JSONObject();
                  String res = response.toString();
                try {
                    JSONObject json = new JSONObject(res);
                    JSONArray jsnArry = json.getJSONArray("keys");
                    for (int i = 0 ; i < jsnArry.length() ; i++){
                         jsnObj = jsnArry.getJSONObject(i);
                    }
                    Log.d("jsnObj",jsnObj.toString());
                    Log.d("jsnArry",jsnArry.toString());

                } catch (JSONException e) {
                    e.printStackTrace();
                }

                Log.d("The Positive  are",res);

            }
@覆盖
成功时公共无效(int statusCode,头[]头,字节[]响应){
JSONObject jsnObj=新的JSONObject();
String res=response.toString();
试一试{
JSONObject json=新的JSONObject(res);
JSONArray jsnArry=json.getJSONArray(“键”);
for(int i=0;i
您可以试试这个(我已经测试过):

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串jsonString=“{\n”+
“\'keys\':[\'10\u Ultimate\',\'20\u Yemensoft\'”]\n”+
"}";
JSONObject jsnObj=新的JSONObject();
试一试{
JSONObject json=新的JSONObject(jsonString);
JSONArray jsnArry=json.getJSONArray(“键”);
for(int i=0;i
您可以试试这个(我已经测试过):

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串jsonString=“{\n”+
“\'keys\':[\'10\u Ultimate\',\'20\u Yemensoft\'”]\n”+
"}";
JSONObject jsnObj=新的JSONObject();
试一试{
JSONObject json=新的JSONObject(jsonString);
JSONArray jsnArry=json.getJSONArray(“键”);
for(int i=0;i
说出从.client.get(“,new AsyncHttpResponseHandler(){@Override public void onSuccess(int statusCode,Header[]headers,byte[]response){JSONObject jsnObj=new JSONObject();String res=response.toString();“”此url位于您电脑的本地主机上。您无法在手机上访问此url!请在internet上选择一个url!JsonObject jso=new JsonObject(res)处可能存在重复的gettinr错误;请说出从中获取json的url。client.get(“,new AsyncHttpResponseHandler(){@Override public void onSuccess(int statusCode,Header[]标头,字节[]响应){JSONObject jsnObj=new JSONObject();String res=response.toString();''此url位于pc的本地主机上。您无法在手机上访问此url!在internet上选择一个url!JSONObject jso=new JSONObject(res)处可能存在重复的gettinr错误;谢谢Pham先生。你说得对,但我想从我知道的服务器上检索响应。我的意思是你尝试替换
jsnObj=jsnArry.getJSONObject(i);
by
jsnObj.put(String.valueOf(i),jsnArry.getString(i));
JSONObject json=new JSONObject(jsonStr)中的异常pccurs另外,我在高级Rest客户端和Rest客户端的响应方面也有所不同。谢谢Pham先生。你说得对,但我想从我知道的服务器上检索Responsne。我的意思是你尝试用
jsnObj=jsnArry.getJSONObject(I);
替换
jsnObj.put(String.valueOf(I),jsnArry.getString(I))
JSONObject json=newjsonobject(jsonStr)中的异常pccurs另外,我在高级Rest客户端和Rest客户端中得到的响应也有所不同