对象转JSON 参数 kv
结果为 : [1,2,3,4]
String s="1,1,2,3,4"; ArrayList<Object> list = new ArrayList<>(); list.add(s); String s = JSON.toJSONString(list);
结果为 : ["1","2","3","4"]
String s="1,1,2,3,4";
List<String> list = Arrays.asList(s.split(","));
String s1 = JSON.toJSONString(list);
System.out.println("s1 = " + s1);
结果为 : 1,1,2,3,4
public static void main(String[] args) { String s ="[\"1\",\"1\",\"2\",\"3\",\"4\"]" ; System.out.println(s); //["1","1","2","3","4"]String s2 = s.replaceAll("\\[|\\]", ""); String teststr2 = s2.replace("\"","" );System.out.println(teststr2); //1,1,2,3,4}
参数:[{"value":"220v","key":"电压"}]
后端
<!-- 阿里JSON解析器 --> <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version> </dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.12</version> </dependency>
1先定义一个对象
@Data public class PareameterDTO {private String key;private String value; }
2 将json转为对象给前端
@Override public List<AppGoodsSpec> selectAppGoodsSpecList(AppGoodsSpec appGoodsSpec) {List<AppGoodsSpec> appGoodsSpecs = appGoodsSpecMapper.selectAppGoodsSpecList(appGoodsSpec);for (AppGoodsSpec goodsSpec : appGoodsSpecs) {String parameter = goodsSpec.getParameter();if (StringUtils.isNotEmpty(parameter)) {List<PareameterDTO> pareameterDTOList = JSONArray.parseArray(parameter, PareameterDTO.class);goodsSpec.setPareameterDTOList(pareameterDTOList);}}return appGoodsSpecs ; }
1 先遍历 2 显示 3添加和删除按钮
<el-form-item label="参数" prop="parameter"><div style="display: flex;align-content: center;margin-bottom: 20px"v-for="(dict,index) in form.pareameterDTOList"> <el-input placeholder="请输入内容" style="margin-right: 10px" v-model="dict.key"/><el-input placeholder="请输入内容" v-model="dict.value"/> <el-button @click="delTags(index)" icon="el-icon-delete" style="margin-left: 40px" type="text"></el-button> <br> </div><el-button @click="addTags(form.key,form.value)" icon="el-icon-plus" size="mini" type="primary">添加</el-button> </el-form-item>
前端显示
<el-table-column align="center" label="参数"><template slot-scope="scope"> <span v-for="(item,index) in scope.row.pareameterDTOList">{{item.key}}-{{item.value}}<br> </span></template> </el-table-column>
methods: {//添加标签addTags(key, value) {// if (key == null && value == null) {// this.$modal.msgError('请输入标签')// return false// } let obj = {}obj.key = keyobj.value = valuethis.form.pareameterDTOList.push(obj)},//删除标签 delTags(index) {this.form.pareameterDTOList.splice(index, 1)}, }
修改 回显判断是空的话,赋值一个空数组 ,不然新增是push 空 报错
/** 修改按钮操作 */ handleUpdate(row) {this.reset();const goodsSpecId = row.goodsSpecId || this.idsgetAppGoodsSpec(goodsSpecId).then(response => { if (response.data.pareameterDTOList == null) {response.data.pareameterDTOList = []}this.form = response.data;this.open = true;this.title = "修改商品规格";}); },
后端 1先获取接收到的集合,判断 k v 是否未空 ,然后c存到一个新对象中,转为json串 存数据库
@Override public int updateAppGoodsSpec(AppGoodsSpec appGoodsSpec) {List<PareameterDTO> pareameterDTOList = appGoodsSpec.getPareameterDTOList();if (pareameterDTOList.size()>0) {List<PareameterDTO> pareameterDTOS = new ArrayList<>();for (PareameterDTO pareameterDTO : pareameterDTOList) {if (StringUtils.isNotEmpty(pareameterDTO.getKey()) && StringUtils.isNotEmpty(pareameterDTO.getValue()) ) {pareameterDTOS.add(pareameterDTO);}} String s = JSONUtil.toJsonStr(pareameterDTOS);appGoodsSpec.setParameter(s);}return appGoodsSpecMapper.updateAppGoodsSpec(appGoodsSpec); }
需要定义
pareameterDTOList: [],
对象数组转JSON数组
List<CardListVO> list=new ArrayList<>();//对象
list.add(new CardListVO);String jsonString= JSON.toJSONString(list);
{"merchantName":"12"}
public static void main(String[] args) {CardListVO cardListV = new CardListVO();cardListV.setMerchantName("12");String jsonString = JSON.toJSONString(cardListV);System.out.println(jsonString); }
2023- 4-19 优化
<el-form-item label="电话" prop="phone"><div style="display: flex;align-content: center;margin-bottom: 20px"v-for="(dict,index) in pareameterDTOList"><el-input placeholder="请输入名称" style="margin-right: 10px" v-model="dict.key"/><el-input placeholder="请输入电话" v-model="dict.value"/><el-button @click="delTags(index)" icon="el-icon-delete" style="margin-left: 40px" type="text"></el-button><br></div><el-button @click="addTags(key,value)" icon="el-icon-plus" size="mini" type="primary">添加</el-button> </el-form-item>
return {pareameterDTOList: [],value: null,key: null, }
methods: {//添加标签addTags(key, value) {// if (key == null && value == null) {// this.$modal.msgError('请输入标签')// return false// }let obj = {}obj.key = keyobj.value = valuethis.pareameterDTOList.push(obj)},//删除标签delTags(index) {this.pareameterDTOList.splice(index, 1)},}
回显
/** 修改按钮操作 */ handleUpdate() {this.reset()const id = 1getCmsContactUs(id).then(response => {this.form = response.datathis.mapform = [response.data.lng, response.data.lat, response.data.address]if (response.data.phone) { this.pareameterDTOList = JSON.parse(response.data.phone)}this.open = truethis.title = '修改联系我们'}) },
提交
/** 提交按钮 */ submitForm() {this.$refs['form'].validate(valid => {if (valid) {/*经度*/this.form.lng = this.mapform[0]/*纬度*/this.form.lat = this.mapform[1]//地图名称// this.form.address = this.mapform[2];if (this.form.lng == null || this.form.lng == '' || this.mapform.length == 0) {this.$modal.msgWarning('请选择地图位置')return}if (this.form.id != null) {if (this.pareameterDTOList && this.pareameterDTOList.length > 0) { this.form.phone = JSON.stringify(this.pareameterDTOList)}updateCmsContactUs(this.form).then(response => {this.$modal.msgSuccess('修改成功')this.open = falsethis.getList()})} else {addCmsContactUs(this.form).then(response => {this.$modal.msgSuccess('新增成功')this.open = falsethis.getList()})}}}) },
对象转JSON 参数 kv相关推荐
- json对象转为url参数_Day48_Ajaxamp;Json
<Java自学180天笔记> AJAX概念 1.概念:ASynchronous JavaScript And XML 异步的JavaScript和XML 2.实现方式 <html l ...
- @RequestBody接收Json参数 | 用自定义注解对Vo对象中Date类型日期格式校验
标题太长有木有?主要是为了把问题描述清楚,免得进错文章. 问题描述 昨天测试的同事测试接口的时候,测试出来一个Date类型校验问题. 要求输入的日期格式是:yyyy-MM-dd HH:mm:ss,Vo ...
- Junit、Json和kv结构的相互转化
导包代码所在网站:https://mvnrepository.com/ 一.Junit 在prom.xml中导入代码,刷新下载 <!-- https://mvnrepository.com/ar ...
- js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
- js中自定义对象、json对象、json字符串、普通js对象
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
- 小程序 url 对象转字符串编码传参 url 字符串转对象解码接收参数
url 对象转字符串编码传参 let info = encodeURI(JSON.stringify(this.data.info));wx.navigateTo({url: '/pages/part ...
- Java中普通字符串转json_java普通对象和json字符串的互转
一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: 现在java对象转换为json形式: 定义了一个Student的实体类,然后分别使用了JS ...
- jackson json转对象 对象转json
一,Jackson使用示例 第1步:创建ObjectMapper对象. 创建ObjectMapper对象.它是一个可重复使用的对象. ObjectMapper mapper = new ObjectM ...
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
前言 Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 一.fastJson 1.fastJson在转换java ...
最新文章
- 检查点重做检查点队列简单总结Strut2教程-java教程
- 非托管资源在虚拟机中的管理
- ExtJS2.0实用简明教程 - Column列布局
- python图像识别车票_是程序员就用Python查12306的票
- [Linux] Linux指令汇总(持续更新中...)
- 一个SAP老司机多年的中间件使用心得
- 百炼成钢!自己动手写一个深度学习框架!
- cad结构字体_如何让CAD字体完整起来,且不破坏系统字体
- magento如何在首页显示产品
- 51nod1432 独木舟
- CakePHP中文手册【翻译】-ACL
- mx350显卡天梯图_2019.8月CPU和显卡性能天梯图
- 6678-GPIO基础(1)
- 互联网日报 | 6月13日 星期日 | 腾讯开展“饭圈乱象”专项整治;端午档单日放映场次刷新纪录;湖北取消除武汉外落户限制...
- python输入一个整数_Python中实现输入一个整数的案例
- Web of Science的正确打开方式
- verilog学习笔记:简单的数据选择器modelsim仿真
- AVR单片机开发6——AVR单片机串口Proteus调试注意事项
- SGI STL的rb_tree浅析
- 如何用excel做一份好看的年度业绩报告,让领导满意呢?
热门文章
- phpemspro模拟考试无试题_GitHub - maosea0125/phpems: PHPEMS在线模拟考试系统
- VSCode: 快速生成 html 骨架和在浏览器中打开
- 如何看待海淀某互联网公司让员工住在公司?(爆公司信息)
- 基于matlab的摄影测量后方交会元素解算
- OS相关驱动 Linux USB驱动框架分析
- 【细碎知识1】浮点数的规格化
- idea跳到下一个断点_不看会后悔系列之idea的使用小技巧
- openCV 轮廓查找-测量物体尺寸
- remote HEAD refers to nonexistent ref, unable to checkout
- 【关于Linux中----信号】