我有一个字符串,我在提交表单后从UI获取。它从UI中的动态表中读取,然后发布提交,它创建了一个如下数据列表。
[{" keyname0":" URL"" keyvalue0":" http://www.google.com"},{&# 34; keyname1":"一年"" keyvalue1":" 2013"},{" keyname2":"账单和#34;" keyvalue2":"参议院"},{" keyname3":"类型"" keyvalue3" :" HTML"}]
我在数据库中有两列。一个是" KEYNAME"而另一个是" KEYVALUE"。 我想将KEYNAME和KEYVALUE的每个值插入数据库。
有人可以帮忙吗?
答案 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
}