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. ionic2一个需求模块的文件该是这样子的

    1.组件文件夹的文件 除了index.ts 其他文件为各个页面组件文件 2.index.ts的代码如下 import {SecurityFinance} from "./security-f ...

  2. JavaScript的组成 | DOM/BOM

    往期回顾 在上一期的<JavaScript的组成 | 核心-ECMAScript >☜里,我们有说到JavaScript 是由三大部分组成,分别是:核心ECMAScript.文档对象模型- ...

  3. 马凯军201771010116《面向对象程序设计(java)》第四周学习总结

    第一部分:理论知识学习部分 第四章 1.类与对象的基础概念. 对象:即数据,对象有三个特性:行为 .状态.标识. 类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合.对象则是该类事物的实例. ...

  4. sql循环查询树形结构

    pid:父类别id ' connect by prior pid = id --查询父祖类别 union ' connect by prior id = pid;--查询子孙类别 这样查询出选中id ...

  5. c#的默认访问权限

    1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员. internal : 同一程序集中的任何代码都可以访问该类型或成员, ...

  6. 剑指Offer 46. 孩子们的游戏(圆圈中最后剩下的数) (其他)

    题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  7. hdu5003 Osu!排序实现水题

    Osu! is a famous music game that attracts a lot of people. In osu!, there is a performance scoring s ...

  8. 【mysql】Mgr实现数据库高可用架构

    转载:https://www.cnblogs.com/luoahong/articles/8043035.html MGR简介 MySQL Group Replication(下简称:MGR)是MyS ...

  9. 程序猿大牛 Jeff Atwood 的两本中文书

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/happydeer/article/details/17094271 watermark/2/text ...

  10. 计算apk包的安装之后占用空间以及运行时占用内存

    1.统计结果如下 计算apk安装占用空间大小方式 为了方式apk包运行时出现缓存数据等对空间计算造成影响.应该先进行安装,然后分别计算空间变化 所有apk包安装完毕后再运行 开启两个cmd窗口 第一个 ...