string 转 java对象、转map的方式
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>(){});
- Usa u2 = JSON.parseObject(jsonstring,Usa.class);
- // 转换成对象数组
- String jsonstring2 = "[{\"a\":51,\"b\":0}]";
- Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});
- List list = Arrays.asList(usa2);
- // 转换成ArrayList
- ArrayList<Usa> list2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){});
- // 转换成ArrayList(默认) list3 与 list4 效果相同
- ArrayList<JSONObject> list3 = JSON.parseObject(jsonstring2, new ArrayList<Usa>().getClass());
- ArrayList<JSONObject> list4 = JSON.parseObject(jsonstring2, ArrayList.class);
- for (int i = 0; i < list4.size(); 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<Usa> usa2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){});
或者转换成对象数组
Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});
对象数组转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
string 转 java对象、转map的方式的更多相关文章
- java对象转map
/** * java对象转map * @param obj * @return * @throws IllegalAccessException * @throws IllegalArgumentEx ...
- Java对象与Map间相互转换
将Java对象转为一个Map,以及将map转为对应Java对象,代码如下: public class BeanMapUtil { private static ConcurrentHashMap< ...
- java 对象转Map方法Demo
/** * 用于对Object进行解析并且转换成Map键值对的形式 * */ public class ObjectUtils { private static final String JAVAP ...
- java对象与map对象相互转换
/** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map<String ...
- java 对象参数去空格方式
import java.lang.reflect.Field; import java.lang.reflect.Method; public class Test { /** * 去掉bean中所有 ...
- JAVA中将对象转为Map类型
之前讲过将Map转为JAVA对象的文章,那么问题来了,如果要把JAVA对象转为Map,又该怎么操作呢?这里亲测了2个方法可行,但目前这2个方法都是基于简单JAVA Bean的情况(即Bean中不能嵌套 ...
- Java对象或String转JSON对象
Java String转JSON对象 用阿里的fastjson里的一个方法,导入fastjson包JSONObject jsonObject1 =JSONObject.parseObject(Stri ...
- JAXB实现java对象与xml之间转换
JAXB简介: 1.JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标 ...
- 总结学习! xml与java对象转换 --- JDK自带的JAXB(Java Architecture for XML Binding)
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...
随机推荐
- spine findBone
spBone* bone=skeletonAnimationNode->findBone("boneName"); CCPoint boneWorldPos=ccp(bone ...
- 可能是最通俗易懂的 Java 位操作运算讲解
https://blog.csdn.net/briblue/article/details/70296326
- atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结
atitit.php 流行框架 前三甲为:Laravel.Phalcon.Symfony2 attilax 总结 1. ,最流行的PHP框架前三甲为:Laravel.Phalcon.Symfony2. ...
- Atitit.软件开发的几大规则,法则,与原则。。。attilax总结
Atitit.软件开发的几大规则,法则,与原则... 1. 设计模式六大原则 2 1.1. 设计模式六大原则(1):单一职责原则 2 1.2. 设计模式六大原则(2):里氏替换原则 2 1.3. 设计 ...
- 小马哥课堂-统计学-t分布
T distribution 定义 在概率论和统计学中,学生t-分布(t-distribution),可简称为t分布,用于根据小样本来估计 呈正态分布且方差未知的总体的均值.如果总体方差已知(例如在样 ...
- Itunes connect上传应用视频 app preview时遇到“无法载入文件”的问题
总结一下,上传视频的一个经验吧,在使用safari进行上传的时候,有时出现了问题,上传失败,但是提示语只有一句“无法载入文件,请再次尝试”.这样的提示并不能提供更多的信息,为什么视频无法上传.有这样的 ...
- hdu 1018 Big Number 数学结论
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- .net访问Oracle数据库
使用System.Data.OracleClient访问Oracle数据库时报错 尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Orac ...
- linux学习笔记6--命令mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. mv命令用来对文件或目录重新命名,或者将文 ...
- SessionListener失败,退出
配置如下: web.xml: <listener> <listener-class>cn.edu.hbcf.common.listener.SessionListener< ...