我需要在Android应用程序中以JSON格式从服务器接收数据
这是我的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
{
"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);
byjsnObj.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客户端中得到的响应也有所不同