在Spring mvc中我有一个 mytable.json 文件。
我想获取该json文件数据,然后想要添加到 model.addAttribute()。
mytable.json
{"name1":["place1.1","place1.2"],
"name2":["place2.1","place1.2"]
...........
.........}
我想使用相应的 citylist 获取名称。
例如:
NAME1 = place1.1,place1.2
所以,我做了: -
try {
JSONParser parser = new JSONParser();
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("file/mytable.json").getFile());
JSONObject obj = (JSONObject) parser.parse(new FileReader(file));
Iterator<String> keys = obj.values().iterator();
while( keys.hasNext() )
{
String key = (String)keys.next();
if ( obj.get(key) instanceof JSONObject )
{
model.addAttribute("key", key);
}
}
} catch (Exception e) {
e.printStackTrace();
}
但我收到错误:
位置0处的意外字符( )。
在这一行:
JSONObject obj = (JSONObject) parser.parse(new FileReader(file));
为什么?问题出在哪里?
答案 0 :(得分:1)
JSONParser parser = new JSONParser();
期待一个JSON字符串,而不是 .json文件。因此意外的角色.... 错误。
您可以InputStreamReader
:
jsonObject = (JSONObject) parser.parse(new InputStreamReader(new FileInputStream("file/mytable.json")));