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. Linux目录路径知识

    改IP为静态IP

  2. 初见 fultter for MAC

    第一步:下载flutter https://flutter.io/docs/development/tools/sdk/archive?tab=macos#macos 第二步:(development ...

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

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

  4. PythonStudy——Python字典底层实现原理 The underlying implementation principle of Python dictionary

    在Python中,字典是通过散列表或说哈希表实现的.字典也被称为关联数组,还称为哈希数组等.也就是说,字典也是一个数组,但数组的索引是键经过哈希函数处理后得到的散列值.哈希函数的目的是使键均匀地分布在 ...

  5. fromkeys()

    #fromkeys() #说明:用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值 #案例 d=[1,2,3] dict={} dict=dict.fromkeys( ...

  6. 监控端口是否开放,端口未开放关闭虚拟ip,端口开放启动虚拟IP

    #!/bin/bash#该脚本监控本机的一个端口,当端口异常时,停止lvs的本地ip直到恢复.该脚本依托于lvs.sh启动脚本#目前只支持监控1个vip #定义常用变量#配置检查的ip以及端口chec ...

  7. day11 大纲

    01 昨日内容回顾 函数名的运用: 1,特殊的变量. 2,函数名可以当做变量赋值. 3,函数名可以当做容器类类型的元素. 4,函数名可以当做函数的参数. 5,函数名可以当做函数的返回值. 函数的运用: ...

  8. Vue 表单校验 vee-validate

    gitHub 地址:https://github.com/baianat/vee-validate 官网API 地址:https://baianat.github.io/vee-validate/ap ...

  9. Lock的lockInterruptibly()方法

    lockInterruptibly()方法能够中断等待获取锁的线程.当两个线程同时通过lock.lockInterruptibly()获取某个锁时,假若此时线程A获取到了锁,而线程B只有等待,那么对线 ...

  10. python3中的编码

    python2字符串编码存在的问题: 使用 ASCII 码作为默认编码方式,对中文处理不友好 把字符串分为 unicode 和 str 两种类型,将unicode作为唯一内码,误导开发者 python ...