当数组键具有更长的长度时,在解析json时出现Android错误 [英] Android error on parse json when array key have more length
本文介绍了当数组键具有更长的长度时,在解析json时出现Android错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从服务器解析json数组响应.例如,我可以简单地解析此响应:
echo json_encode(['result' => 0,'h'=>1,'m'=>2]);
但要解析此json格式:
echo json_encode(['result' => 0,'hour'=>1,'minute'=>2]);
我收到此错误:
E/Response:: {"result":0,"hour":"1","minute":"35"}
E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: pishguy.ir.asrebidree, PID: 6322
E/AndroidRuntime: java.util.UnknownFormatConversionException: Conversion: س
E/AndroidRuntime: at java.util.Formatter$FormatToken.unknownFormatConversionException(Formatter.java:1399)
我的代码:
JSONObject jsonObject = new JSONObject(response);
String result = jsonObject.getString("result");
if (result.equals("0")) {
String hore = jsonObject.getString("hour");
String minute = jsonObject.getString("minute");
}
已更新
问题是hour
和minute
单词,而不是json数组中的result
键.将hour
和minute
更改为h
和m
问题后解决方案
您的result
是contian int
值...请尝试
int result = jsonObject.getInt("result");
i'm trying to parse json array response from server. for example i can simply parse this response :
echo json_encode(['result' => 0,'h'=>1,'m'=>2]);
but for parse this json format:
echo json_encode(['result' => 0,'hour'=>1,'minute'=>2]);
i get this error:
E/Response:: {"result":0,"hour":"1","minute":"35"}
E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: pishguy.ir.asrebidree, PID: 6322
E/AndroidRuntime: java.util.UnknownFormatConversionException: Conversion: س
E/AndroidRuntime: at java.util.Formatter$FormatToken.unknownFormatConversionException(Formatter.java:1399)
My code:
JSONObject jsonObject = new JSONObject(response);
String result = jsonObject.getString("result");
if (result.equals("0")) {
String hore = jsonObject.getString("hour");
String minute = jsonObject.getString("minute");
}
UPDATED
problem is hour
and minute
words, not result
key in json array. after change hour
and minute
to h
and m
problem solved
解决方案
Your result
is contian int
value...try this
int result = jsonObject.getInt("result");
这篇关于当数组键具有更长的长度时,在解析json时出现Android错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文