Spring MVC无法获取JSON值

时间:2015-12-15 06:54:54

标签: java json spring spring-mvc

在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));

为什么?问题出在哪里?

1 个答案:

答案 0 :(得分:1)

JSONParser parser = new JSONParser();期待一个JSON字符串,而不是 .json文件。因此意外的角色.... 错误。

您可以InputStreamReader

jsonObject = (JSONObject) parser.parse(new InputStreamReader(new FileInputStream("file/mytable.json")));