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. ubuntu1604使用之旅——网络配置

    首先是虚拟机的设置是如图所示,桥接模式. 1.ifconfig,下图所示,ens32是本机的网卡,记住这个,有用. 2.输入:sudo gedit /etc/network/interfaces 默认 ...

  2. Oracle 创建存储过程 提示权限不足或者提示表和视图不存在问题

    grant create view to hospital; --授予查询权限 grant select any table to hospital; --授予权限 grant select any ...

  3. 蓝牙协议分析(6)_BLE地址类型

    1. 前言 也许关注BLE的同学都注意到了,BLE设备有多种类型的设备地址,如Public Device Address.Random Device Address.Static Device Add ...

  4. 11--Python入门--面向对象

    面向对象是Python的特点.面向对象主要通过类class的定义来实现.类class是用来描述具有相同属性和方法的对象的集合.类定义了该集合中的每个对象的共有属性和方法可以将类理解为一个模块,模块中包 ...

  5. Java六大必须理解的问题

    Java六大必须理解的问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容 ...

  6. WEBBASE篇: 第九篇, JavaScript知识4

    JavaScript 4 练习1 <!doctype html> <html lang="en"> <head> <meta charse ...

  7. 使用 JavaScript 截屏

    经常在微博上看到很多内容使用的什么长微博截图,并且截图上还附加了很多其他的信息.之前对纯前端截图有些研究,正好本博客有这个需求,今天就把这东西实现了下. 需要声明的是,JavaScript 目前还不能 ...

  8. python:基本统计值计算(平均数,方差,中位数)

    #CalStatisticsV1.py def getNum(): #获取用户不定长度的输入 nums=[] test=input("请输入要存储的数据(回车退出):") whil ...

  9. Ubuntu16.04交叉工具链安装

    前言: 开发环境是64位的ubuntu16.04,交叉工具链是通过sudo apt-get install ....安装的,移植uboot2014.10,但是很奇怪,按照网上的介绍在start.s里面 ...

  10. cordova日期插件的使用:cordova-plugin-datepicker

    1. 添加插件:cordova plugin add cordova-plugin-datepicker; 2.插件的主体样式设置: 3.以上5中样式的截图: THEME_TRADITIONAL的样式 ...