JAVA对象转map_java处理字符串类型的map

JAVA对象转map_java处理字符串类型的map1、使用fastJson将String转map:Stringout;ObjectsuccesResponse=JSON.parse(out);//先转换成ObjectMapmap=(Map)succesResponse;//Object强转换为Map2、String转java对象fastjson应用string字符串转换成java对象或者对象数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、使用fastJson 将String转 map:

String out;

Object succesResponse = JSON.parse(out);    //先转换成Object

Map map = (Map)succesResponse;         //Object强转换为Map

2、String 转 java 对象

fastjson 应用 string字符串转换成java对象或者对象数组

代码如下

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.alibaba.fastjson.TypeReference;

public class TestFastJson {

public static void main(String[] args) {

//  转换成对象

String jsonstring = “{\”a\”:51,\”b\”:0}”;

Usa u1 = JSON.parseObject(jsonstring, new TypeReference(){});

Usa u2 = JSON.parseObject(jsonstring,Usa.class);

// 转换成对象数组

String jsonstring2 = “[{\”a\”:51,\”b\”:0}]”;

Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference(){});

List list = Arrays.asList(usa2);

// 转换成ArrayList

ArrayList list2 = JSON.parseObject(jsonstring2, new TypeReference>(){});

// 转换成ArrayList(默认)    list3  与 list4  效果相同

ArrayList list3 = JSON.parseObject(jsonstring2, new ArrayList().getClass());

ArrayList list4 = JSON.parseObject(jsonstring2, ArrayList.class);

for (int i = 0; i 

JSONObject io = list4.get(i);

System.out.println(io.get(“a”) + “======adn=====”+io.get(“b”));

}

}

}

class Usa {

private int count = 1888;

private String base = “project”;

private Long a;

public Long getA() {

return a;

}

public void setA(Long a) {

this.a = a;

}

private String b;

public String getB() {

return b;

}

public void setB(String b) {

this.b = b;

}

}

json字符串 直接转换成List

ArrayList usa2 = JSON.parseObject(jsonstring2, new TypeReference>(){});

或者转换成对象数组

Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference(){});

对象数组转List

List list = Arrays.asList(usa2);

我们使用new TypeReference的时候会生成多个class文件 里面有多少个new TypeReference 就会新增了class

即使我们在for循环里(0-N)写new TypeReference 这段代码也是多生成一个class文件,fastjson是看我们写了多少new TypeReference,而不是调用了多少次new TypeReference。推荐用ArrayList.class

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197390.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件设计师考点汇总(室内设计师个人总结)

    文章目录分值分布考点总结计算机组成与体系结构数据表示进制转换编码浮点数运算CPU结构运算器控制器Flynn分类法CISC:复杂指令集;RISC:精简指令集流水线流水线相关概念存储系统Cache主存内存磁盘总线系统可靠性差错控制-校验码操作系统进程管理死锁及银行家算法存储管理页面置换算法文件管理索引文件目录结构位示图磁盘管理I/O设备管理虚设备与SPOOLING技术微内核操作系统数据库数据库模式数据库设计过程E-R模型关系代数规范化理论函数依赖键范式模式分解并发控制数据库安全备份恢复数据仓库与数据挖掘反规范化

    2022年4月17日
    37
  • tcp攻击脚本_防御的意思

    tcp攻击脚本_防御的意思目录相关原理(tcp基础)实例演示关于防御措施相关原理(tcp基础)三次握手:TCP是基于IP网络层之上的传输层协议,用于端到端的可靠的字节流传输。过程:1.C向S发送连接请求,标记位SYN设为1,且随机设置序列号seq2.S返回确认消息,ACK设为seq+1,标记位SYN设为1,随机序列号seq3.C返回确认消息,ACK设为seq+1四次挥手:四次挥手指正常连接中断的情况。过程:…

    2022年10月1日
    2
  • oracle查询用户密码命令,Oracle数据库用户密码问题[通俗易懂]

    oracle查询用户密码命令,Oracle数据库用户密码问题[通俗易懂]场景一:在重置一些系统sys和system用户密码(已过期)时(还是使用原密码,根据user$中的password修改重置),在user$查看sys和system用户信息时发现这两个用户的PASSWORD为空,如下:SQL>selectname,passwordfromuser$wherenamein(‘SYS’,’SYSTEM’);NAME…

    2022年7月28日
    14
  • java详细安装教程一一java(jdk)安装[通俗易懂]

    java详细安装教程一一java(jdk)安装[通俗易懂]java详细安装教程一一java(jdk)安装

    2022年7月9日
    30
  • 3.Eclipse创建第一个Java项目[通俗易懂]

    3.Eclipse创建第一个Java项目[通俗易懂]1.在桌面上双击eclipse快捷键,打开软件,出现一个界面2.这个界面是选择eclipse的工作空间,简单来说就是选择Java项目放在磁盘上的哪个位置上,可以点击默认的,也可以自己创建新的文件夹,然后点击Launch3.在主页面上点击File->New->JavaProject创建Java新项目4.在弹出的窗口的Projectname位置处,输入自己项目的名称…

    2022年7月24日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号