我有以下json解析代码,在测试为java应用程序时工作正常。但是在Android平台上使用它并运行时,返回以下错误
“位置0处的意外标记END OF FILE”
这是我的代码
public boolean parseJSON(String content) {
boolean retvalue=false;
String jsonString=null;
JSONParser parser=new JSONParser();
Object obj;
try {
System.out.println("in the parse json");
obj = parser.parse(content);
JSONArray array=(JSONArray)obj;
JSONObject obj2=(JSONObject)array.get(0);
jsonString=(String) obj2.get("user_id");
System.out.println("in the parse json "+jsonString);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (null != jsonString) {
retvalue = true;
}
return retvalue;
}
该方法的输入字符串如下
[{“user_id”:“1”,“username”:“arvind”,“password”:“somu”,“firstname”:“Arvind somu”,“accountNumber”:“1234567”,“lastname”: “”, “地址”: “”, “电子邮件”: “sample@gmail.com”}]
我在使用java时已经打印了值1,但不知道为什么这个问题会随着android而来。身体可以表明代码有什么问题。我使用的解析器是json-simple1.1.1
答案 0 :(得分:0)
使用此:
JSONObject obj2;
obj2 = array.optJSONObject(0);
方法optJSONObject返回一个JSONObject,你不必抛出它,get()返回一个Object。尝试这个我认为这可以解决它。