List<SearchParam> ts = (List<SearchParam>) JSONArray.parseArray(jsonStr, SearchParam.class);

实体

package com.report.pojo;

public class SearchParam {
// "tt": "多选框",
// "tp": "mlt",
// "req": "true",
// "nm": "_20190410104401_004",
// "nickname": "a04",
// "val": "",
// "txt": "",
// "valid": "false"
private String tt;
private String tp;
private String req;
private String nm;
private String nickname;
private String val;
private String txt;
private String valid;
public String getTt() {
return tt;
}
public void setTt(String tt) {
this.tt = tt;
}
public String getTp() {
return tp;
}
public void setTp(String tp) {
this.tp = tp;
}
public String getReq() {
return req;
}
public void setReq(String req) {
this.req = req;
}
public String getNm() {
return nm;
}
public void setNm(String nm) {
this.nm = nm;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
public String getTxt() {
return txt;
}
public void setTxt(String txt) {
this.txt = txt;
}
public String getValid() {
return valid;
}
public void setValid(String valid) {
this.valid = valid;
}
@Override
public String toString() {
return "SearchParam [tt=" + tt + ", tp=" + tp + ", req=" + req
+ ", nm=" + nm + ", nickname=" + nickname + ", val=" + val
+ ", txt=" + txt + ", valid=" + valid + "]";
} }

测试

package test;

import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSONArray;
import com.report.pojo.SearchParam; public class Test { public static void main(String[] args) {
String jsonStr = "[{'tt':'文本框','tp':'txt','req':'true','nm':'_20190410104401_001','val':'111','txt':'111','nickname':'a01','valid':'true'},{'tt':'下拉框','tp':'sel','req':'true','nm':'_20190410104401_002','val':'201','txt':'单选1','nickname':'a02','valid':'true'},{'tt':'日期框','tp':'dat','req':'true','nm':'_20190410104401_003','val':'2019-04-11 17:40:35','txt':'2019-04-11 17:40:35','nickname':'a03','valid':'true'},{'tt':'多选框','tp':'mlt','req':'true','nm':'_20190410104401_004','nickname':'a04','val':'401|402|403','txt':'多选1|多选2|多选3','valid':'true'},{'tt':'文本框','tp':'txt','req':'false','nm':'_20190410104401_005','val':'www','txt':'www','nickname':'b01','valid':'true'},{'tt':'下拉框','tp':'sel','req':'false','nm':'_20190410104401_006','val':'201','txt':'单选1','nickname':'b02','valid':'true'},{'tt':'日期框','tp':'dat','req':'false','nm':'_20190410104401_007','val':'2019-04-11 17:40:38','txt':'2019-04-11 17:40:38','nickname':'b03','valid':'true'},{'tt':'多选框','tp':'mlt','req':'false','nm':'_20190410104401_008','nickname':'b04','val':'401|402|403','txt':'多选1|多选2|多选3','valid':'true'}]";
// String jsonStr = "[{'tt':'文本框','tp':'txt','req':'true','nm':'_20190410104401_001','val':'111','txt':'111','nickname':'a01','valid':'true'},{'tt':'下拉框','tp':'sel','req':'true','nm':'_20190410104401_002','val':'201','txt':'单选1','nickname':'a02','valid':'true'},{'tt':'日期框','tp':'dat','req':'true','nm':'_20190410104401_003','val':'2019-04-17 14:11:54','txt':'2019-04-17 14:11:54','nickname':'a03','valid':'true'},{'tt':'多选框','tp':'mlt','req':'true','nm':'_20190410104401_004','nickname':'a04','val':'','txt':'','valid':'false'},{'tt':'文本框','tp':'txt','req':'false','nm':'_20190410104401_005','val':'','txt':'','nickname':'b01','valid':'true'},{'tt':'下拉框','tp':'sel','req':'false','nm':'_20190410104401_006','val':'-1','txt':'未选择','nickname':'b02','valid':'true'},{'tt':'日期框','tp':'dat','req':'false','nm':'_20190410104401_007','val':'','txt':'','nickname':'b03','valid':'true'},{'tt':'多选框','tp':'mlt','req':'false','nm':'_20190410104401_008','nickname':'b04','val':'','txt':'','valid':'true'}]"; // JSONObject jsonObject = JSONObject.toJavaObject(jsonStr);
//
// SearchParam grades = (SearchParam) JSONObject.toBean(jsonObject, SearchParam.class);
Map<String, Object> map = new HashMap<String, Object>();
List<SearchParam> ts = (List<SearchParam>) JSONArray.parseArray(jsonStr, SearchParam.class);
for (SearchParam one : ts) {
System.out.println(one);
String tp = one.getTp();
String nickname = one.getNickname();
String txt = one.getTxt();
String val = one.getVal();
if("mlt".equalsIgnoreCase(tp)){
val = val.replace("|", ";");
StringBuffer sb = new StringBuffer();
sb.append("(");
String[] split = val.split(";");
for (String string : split) {
sb.append("'"+string+"',");
}
val = sb.toString();
val = sb.substring(0,sb.length()-1)+")";
}
map.put(nickname, val);
}
System.out.println(map);
for (String str :map.keySet()) {
System.out.println(str+"---"+map.get(str));
}
}
}

json字符串装List<Object>的更多相关文章

  1. JAVA中使用alibaba fastjson实现JSONObject、Object、Json字符串的转换

    JAVA中使用alibaba fastjson实现JSONObject.Object.Json字符串的转换 Object转JSON字符串:String jsonStr = JSONObject.toJ ...

  2. Java——Json字符串与Object互转

    public static void JacksonTest() {//推荐 //{"MNG001":[{"ID":"1","PW ...

  3. Jackson实现Object对象与Json字符串的互转

    在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的.然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制.下面我将利用实例总结如何使用 ...

  4. fastjson 将json字符串转化成List<Map<String, Object>>

    亲测可行,如下: JSON.parseObject(jsonstr, new TypeReference<List<Map<String, Object>>>() ...

  5. json字符串和object之间的相互转化

    package asi; import java.util.ArrayList; import com.alibaba.fastjson.JSON; import com.alibaba.fastjs ...

  6. C#-使用Newtonsoft.Json实现json字符串与object对象互转

    json字符串转object对象: IF004Response processResponse = JsonConvert.DeserializeObject<IF004Response> ...

  7. json 字符串包含数组转换为object对象是报异常java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to

    前台传到后台的json字符串 前台实现这种格式json字符串方式: function contentFun(){ respType = respTypeFun(); return "{\&q ...

  8. 关于Json字符串"反序列化Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path..."

    描述的很清楚就是说给它的不是一个对象,而是一个数组,所以他在建议你用JArray去解析,但是你明明就是给它的一个对象,并不是一个数组 这是我下意识的去把我的json字符串中的"[ ]&quo ...

  9. json对象和json字符串有啥区别啊

    json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ...

随机推荐

  1. Oracle物化视图梳理

    --物化视图可以分为三种类型:* 包含聚集的物化视图* 只包含连接的物化视图* 嵌套物化视图三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大. --物化视图创建方式(Build M ...

  2. Java语法基础学习DayNineteen(反射机制)

    一.Refection定义 1.概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性 ...

  3. Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建

    软件版本说明:我选的Linux系统是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.0以下的版 ...

  4. 剑指Offer 40. 数组中只出现一次的数字 (数组)

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. 题目地址 https://www.nowcoder.com/practice/e02fdb54 ...

  5. <a>链接添加样式问题

    <a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ...

  6. alpha冲刺(3/10)

    前言 队名:旅法师 作业链接 队长博客 燃尽图 会议 会议照片 会议内容 陈晓彬(组长) 今日进展: 召开会议 安排任务 博客撰写 制定计划 问题困扰: 前后端的交互沟通有点缺失,以至后端进度很慢,需 ...

  7. Centos7 firewall开放3306端口

    目录 Centos7 firewall开放3306端口 1. 查看防火墙状态 2. 关闭防火墙firewall 3. 关闭防火墙firewall后开启 4. 开启端口 5. 重启防火墙 6. 常用命令 ...

  8. kali安装Google浏览器之后的问题

    kali中,在安装完Google浏览器后会出现点击图标却打不开的问题,解决方式如下: 2019-04-10  09:46:00

  9. django 增加自定义权限的一个博客,讲的很详细

    来自  https://www.cnblogs.com/huangxm/p/5770735.html

  10. ios-屏幕适配(代码)

    由于第一个项目中98%的界面都用到UITableView,所以适配仅判断此.知道手工敲代码的繁复,遂传一部分,如果有更优的方法,欢迎提出. 如下图,图中提到的宏定义是在prefix.pch预编绎文件里 ...