在Java中将Json文件内容添加到JsonObject

时间:2013-03-18 08:02:48

标签: json

我在磁盘中有一个Json文件E:\\jsondemo.json。我想在Java中创建JSONObject并将json文件的内容添加到JSONObject。怎么可能?

JSONObject jsonObject = new JSONObject();

创建此对象后,我该怎么做才能读取文件并将值放在 jsonObject 中 感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用this question中提议的函数转换字符串中的文件:

private static String readFile(String path) throws IOException {
  FileInputStream stream = new FileInputStream(new File(path));
  try {
    FileChannel fc = stream.getChannel();
    MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
    /* Instead of using default, pass in a decoder. */
    return Charset.defaultCharset().decode(bb).toString();
  }
  finally {
    stream.close();
  }
}

获取字符串后,可以使用以下代码将其转换为JSONObject:

String json = readFile("E:\\jsondemo.json");
JSONObject jo = null;
try {
jo = new JSONObject(json);
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

在上面的例子中,我使用this library,非常简单易学。您可以通过以下方式向JSON对象添加值:

jo.put("one", 1); 
jo.put("two", 2); 
jo.put("three", 3);

您还可以创建JSONArray个对象,并将其添加到JSONObject

JSONArray ja = new JSONArray();

ja.put("1");
ja.put("2");
ja.put("3");

jo.put("myArray", ja);