位置0处的意外字符(A)

时间:2016-08-26 11:28:22

标签: java android json io

这是我在mysql服务器上的json文件。

  

注意:第18行/var/www/html/studyabroad/university.php中的数组到字符串转换

Array[{"code":"100654","name":"Alabama A & M University",
"type":"public","city":"Normal","state":"AL",
"logo_url":"http:\/\/www.logosurfer.com\/sites\/default\/files\/university-of-california-logo_0.png",
"percentage":"53"},

{"code":"100706","name":"University of Alabama in Huntsville",
"type":"public","city":"Huntsville","state":"AL",
"logo_url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/b\/b2\/Ashford_University_Full_Color_Logo.png",
"percentage":"82"}]

我的解析代码是

JSONParser parser = new JSONParser();

    try{

        BufferedReader bfReader = new BufferedReader(new InputStreamReader(is));
        bfReader.readLine();
        StringBuilder builder = new StringBuilder();
        String line = null;

        while((line = bfReader.readLine())!= null){
            builder.append(line).append("\n");
        }

        line = builder.toString();
        Object obj = parser.parse(line);

        return obj;

    }catch(IOException ex){
        ex.printStackTrace();
    }catch(ParseException ex){
        ex.printStackTrace();

    }finally{
        try{
            is.close();
        }catch (IOException ex){
            //later handler it.
            ex.printStackTrace();
        }
    }

在我的服务器端将结果转换为我使用的json格式

json_encode($data);

错误的原因是json数据的格式。 Array[{..},{..}]代替[{...},{..}]。 有什么办法可以改变上面的json数据格式 [{...}, {...}]或如何解析给定的格式?

1 个答案:

答案 0 :(得分:0)

为什么不使用Substring来获取继续数组部分的值:

line = builder.toString().substring(5);