从字符串中获取表数据,然后插入到db中

时间:2013-06-07 19:38:48

标签: java arrays arraylist

我有一个字符串,我在提交表单后从UI获取。它从UI中的动态表中读取,然后发布提交,它创建了一个如下数据列表。

[{" keyname0":" URL"" keyvalue0":" http://www.google.com"},{&# 34; keyname1":"一年"" keyvalue1":" 2013"},{" keyname2":"账单和#34;" keyvalue2":"参议院"},{" keyname3":"类型"" keyvalue3" :" HTML"}]

我在数据库中有两列。一个是" KEYNAME"而另一个是" KEYVALUE"。 我想将KEYNAME和KEYVALUE的每个值插入数据库。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用杰克逊:

private static final KEYNAME = "keyname";
private static final KEYVALUE = "keyvalue";

final ObjectMapper mapper = new ObjectMapper();

final JsonNode data = mapper.readTree(theString);

String key, value;
Iterator<Map.Entry<String, JsonNode>> members;
Map.Entry<String, JsonNode> member;

for (final JsonNode element: data) {
    key = null; value = null;
    members = element.fields();
    while (members.hasNext()) {
        member = members.next();
        if (member.getKey().startsWith(KEYNAME))
            key = member.getValue().textValue();
        if (member.getKey().startsWith(KEYVALUE))
            value = member.getValue().textValue();
    }
    // check if key or value are null, if yes problem!
    // process key and value
}