如何在java中通过hashMap读取json文件

时间:2014-08-21 14:36:05

标签: json

我有一个非常简单的问题。我想在java中通过hashMap读取一个json文件。

例如,我有一个像这样的json文件:

{
    "list": [
       {
    "ID" : "#12354667",
    "value" : "data1."
}
   {
    "ID" : "#12345789",
    "value" : "data2"
}

每当我调用id时它返回值。我写了这个,但我不知道如何阅读该文件。有什么帮助吗?

谢谢,

private JsonReader() throws IOException {

    //readfile?
    this.messages = new HashMap<String, String>();
}

 public String getValue(final String ID)
    {
        if (this.messages.containsKey(ID))
        {
            return this.messages.get(value);
        }

        return "";
    }

1 个答案:

答案 0 :(得分:0)

您可以使用JSONParserFileReader将您的文件读入您​​的应用程序。我不太确定这是否是您搜索的内容,但您可以尝试一下。您只需将ID提供给此方法。

JSONParser parser = new JSONParser();

    try {

        Object obj = parser.parse(new FileReader("c:\\yourFile.json"));

        JSONObject jsonObject = (JSONObject) obj;

        // loop array
        JSONArray list= (JSONArray) jsonObject.get("list");
        Iterator<String> iterator = list.iterator();

        while (iterator.hasNext()) {
           String id= (String) jsonObject.get("ID");
           if(id.equals(hereYourFinalString ID)){
              String value = (String) jsonObject.get("value");
              System.out.println(value);
           }
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    }

     }