java json 用 Jackson 解析数组
java json array parsing with Jackson
我有以下 json 文件
[{"key1":"value11", "key2":"value12"},{"key1":"value21", "key2":"value22"},...]
如何使用 Jackson 从该数组中获取每个 json 对象。这里需要注意的是 json 文件很大~ 700MB。我想一个一个地读取JSON对象并将数据加载到数据库
step 1: {"key1":"value11", "key2":"value12"}
step 2: {"key1":"value21", "key2":"value22"}
...
所以我需要将所有这些信息加载到数据库中。假设我在数据库中有一个 table:
create table mytbl
(
key1 varchar2(100),
key2 varchar2(100)
)
所以每个键都应该进入他的列。
我想分享一下我是如何得到的,也许有人会用...
ObjectMapper mapper = new ObjectMapper();
JsonParser parser = mapper.getJsonFactory().createJsonParser(new File(ConfigurationManager.jsonfile));
JsonToken token = parser.nextToken();
if (token == null) {
System.out.println("no json file");
}
if (!JsonToken.START_ARRAY.equals(token)) {
System.out.println("Expected an array");
}
while (!JsonToken.END_ARRAY.equals(parser.nextToken())) {
System.out.println(parser.readValueAsTree().toString()));
// parse json object here
}
parser.close();
我有以下 json 文件
[{"key1":"value11", "key2":"value12"},{"key1":"value21", "key2":"value22"},...]
如何使用 Jackson 从该数组中获取每个 json 对象。这里需要注意的是 json 文件很大~ 700MB。我想一个一个地读取JSON对象并将数据加载到数据库
step 1: {"key1":"value11", "key2":"value12"}
step 2: {"key1":"value21", "key2":"value22"}
...
所以我需要将所有这些信息加载到数据库中。假设我在数据库中有一个 table:
create table mytbl
(
key1 varchar2(100),
key2 varchar2(100)
)
所以每个键都应该进入他的列。
我想分享一下我是如何得到的,也许有人会用...
ObjectMapper mapper = new ObjectMapper();
JsonParser parser = mapper.getJsonFactory().createJsonParser(new File(ConfigurationManager.jsonfile));
JsonToken token = parser.nextToken();
if (token == null) {
System.out.println("no json file");
}
if (!JsonToken.START_ARRAY.equals(token)) {
System.out.println("Expected an array");
}
while (!JsonToken.END_ARRAY.equals(parser.nextToken())) {
System.out.println(parser.readValueAsTree().toString()));
// parse json object here
}
parser.close();