json格式繁琐,前后台传值麻烦,下面就是标准的传值的json串
[
{
"devType": "1-9-1",
"fieldKey": "wind",
"fieldName": "风量",
"statFunc": "status",
"funcContent": "{\"1\":\"低档风速\",\"2\":\"中档风速\",\"3\":\"高档风速\",\"4\":\"高档风速\"}"
},
{
"devType": "1-9-1",
"fieldKey": "working_status",
"fieldName": "工作状态",
"statFunc": "status",
"funcContent": "{\"0\":\"上电初始化\",\"1\":\"备用状态\",\"2\":\"运行状态\"}"
}
]
该串为两个对象,其中funcContent又为json串,此为嵌套。
需要注意的是
1属性最后不需要逗号
2属性名和值都需要加引号,即使有括号也需要
3json嵌套的json里面的引号要进行转义 此为关键
写java接口可以用public Object add(String runRec){}
String类型来接收
ObjectMapper mapper = new ObjectMapper();
List<RundataConfig> rundataList = null;
if (StringUtils.isNotEmpty(runRec)) {
try {
rundataList = mapper.readValue(runRec,new TypeReference<List<RundataConfig>>() {});
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
此办法可以把String类型接收的json串转为list对象
<insert id="batchInsert" parameterType="java.util.List">
insert into tb_rundata_config(dev_type, field_key, field_name, stat_func, func_content,create_user) values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.devType},#{item.fieldKey},#{item.fieldName},#{item.statFunc},#{item.funcContent},#{item.createUser})
</foreach>
</insert>
此为批量插入语句