json-list串研究

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>

此为批量插入语句


你可能感兴趣的:(json-list串研究)