用于android的JSON解析器问题,适用于java

时间:2013-09-05 18:49:01

标签: java android json

我有以下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

1 个答案:

答案 0 :(得分:0)

使用此:

   JSONObject obj2;
   obj2 = array.optJSONObject(0);

方法optJSONObject返回一个JSONObject,你不必抛出它,get()返回一个Object。尝试这个我认为这可以解决它。