这是我在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数据格式
[{...}, {...}]
或如何解析给定的格式?
答案 0 :(得分:0)
为什么不使用Substring来获取继续数组部分的值:
line = builder.toString().substring(5);