1.JSON的String字符串与Java的List列表对象的相互转换

在前端:

1.如果json是List对象转换的,可以直接遍历json,读取数据。

2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:

var jsonStr = JSON.stringify(list);

var param= {};

param.jsonStr=jsonStr;

在后台:

import net.sf.json.JSONObject;

import net.sf.json.JSONArray;

1.把String转换为List(str转换为list)

List list = new ArrayList();

JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json

list = JSONArray.toList(jsonArray,t);//这里的t是Class

在这里,因为得到json字符串的时候用的是 JSONArray.fromObject(collenction),所有,在讲json字符串转换成json对象的时候,

也只能用JSONArray.toCollection,并且,一定要带上后面的class参数。

2.把List转换为json

JSONArray json = JSONArray.fromObject(object);

String str = json.toString();//把json转换为String

再如:

Teacher类中,有三个属性。

private String teaId;

private String teaName;

private List stus;

Teacher teacher_1 = new Teacher("编号1", "教师1", stus);

JSONObject obj = JSONObject.fromObject(teacher_1);

这一步,将Teacher 对象转换成json字符串的时候,没有任何的问题。下面,将JSONObject 转换成Teacher 对象,如果,不加后面的class参数,也会报这儿错误。加了后,这一步也正常。

Teacher teacherBean = (Teacher) JSONObject.toBean(obj, Teacher.class);

Student studentBean = teacherBean.getStus().get(0);

当从teacherBean 对象中取出stus属性的值时候,就会提示:

Java.lang.ClassCastException:net.sf.ezmorph.bean.MorphDynaBean cannot be cast to com.edu.xukai.Student

用这种方式可以解决:

Map classMap = new HashMap();

classMap.put("stus", Student.class);

Teacher teacherBean = (Teacher) JSONObject.toBean(obj, Teacher.class, classMap);

其中map对象是teacherBean对象中各个属性的类型,map额key是属性每次,value是属性的类型。

JSONArray.toArray(jsonArray, objectClass, classMap)

JSONArray.toList(jsonArray, objectClass, classMap)

也支持这样的方式。

2. JSON 集合数据字符串转对象集合 及 对象集合转 JSON 字符串

import org.codehaus.jackson.JsonParseException;

import org.codehaus.jackson.map.JsonMappingException;

import org.codehaus.jackson.map.ObjectMapper;

import org.codehaus.jackson.type.TypeReference;

// 集合转 json

ArrayList list=new ArrayList();

StringWriter str=new StringWriter();

ObjectMapper objectMapper=new ObjectMapper();

objectMapper.writeValue(str, list);

System.out.println(str);

// json 转对象集合

ObjectMapper mapper = new ObjectMapper();

List list = mapper.readValue(str.toString(),

new TypeReference>() {});

3.示例

public static void main(String[] args) {

ArrayList list=new ArrayList();

Student s1=new Student();

s1.setName("leilei");

s1.setAge(23);

Student s2=new Student();

s2.setName("leilei02");

s2.setAge(23);

list.add(s1);

list.add(s2);

StringWriter str=new StringWriter();

ObjectMapper objectMapper=new ObjectMapper();

try {

objectMapper.writeValue(str, list);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(str);

}

public class JsonToJavaBean {

public static void main(String[] args) {

String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";

Student stu = null;

List list = null;

try {

ObjectMapper objectMapper=new ObjectMapper();

StudentList studentList=objectMapper.readValue(str, StudentList.class);

list=studentList.getStudent();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

for(Student s:list){

System.out.println(s.getName()+" "+s.getAge());

}

}

}

JSon_零基础_006_将JSon格式的字符串转换为Java对象

需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...

JS中JSON和string字符串相互转换

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...

java 8中列表对象多条件排序

java 8 新加了 lambda 表达式,当接口是一个 @FunctionalInterface 时可以使用 lambda 表达式代替 Function典型的应用场景为:A. 1个只有1个方法的接口 ...

解决fasterxml中string字符串转对象json格式错误问题

软件152 尹以操 springboot中jackson使用的包是fasterxml的.可以通过如下代码,将一个形如json格式string转为一个java对象: com.fasterxml.jack ...

java String字符串——进度1

String字符串    在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种,    第一种是直接赋值,    第二种是使用String类的构造方法:    如下所示:    Strin ...

String字符串的方法

String字符串在Java开发中是我们常用的一种数据类型,同时String字符串也为我们提供了大量的方法.通过一些实例的练习,我们可以对String字符串的方法有一个比较清楚的了解. 有一个字符串S ...

JavaSE 学习笔记之String字符串(十四)

API:(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源 ...

java 判断String字符串是不是json数据

java 判断String字符串是不是json数据 CreationTime--2018年8月24日18点23分 Author:Marydon JSONObject jo = null; try ...

JAVA代码解析String字符串(json格式的)

java解析String字符串(json格式) 需要jar包:json-lib-2.4-jdk15.jar 一. String str = "{\"name\":\&qu ...

随机推荐

3.线性表-cursor

fatal.h #include #include #define Error( Str ) FatalError( Str ) #d ...

mysql基本语句

mysql -u root -p; 登录数据库 show databases; 展示数据库 show tables; 展示表 desc messages; 查看messages表的结构 drop da ...

[字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案

今天在eclipse中编写pom.xml文件时,注释中的中文被eclipse识别到错误:Invalid byte 1 of 1-byte UTF-8 sequence,曾多次遇到该问题,问题的根源是: ...

composer 的使用

composer是php包管理工具,非常好用!许多框架,例如zendframework都可以用它来安装. 使用起来其实是很简单的.以下以windowns操作系统为例: 把php添加到系统环境变量.(网 ...

oracle 常用博客网址

使用oradebug修改数据库scn – 提供专业ORACLE技术咨询和支持@Phone13429648788 - 惜分飞 Solaris上使用DTrace进行动态跟踪 老熊的三分地-Oracle及数 ...

differ比较两个字符串的差异

"abcde","abdefk"  ---->-c,+f,+k "aba","aababb"    -----&g ...

Python函数篇(2)-递归函数、匿名函数及高阶函数

1.全局变量和局部变量 一般定义在程序的最开始的变量称为函数变量,在子程序中定义的变量称为局部变量,可以简单的理解为,无缩进的为全局变量,有缩进的是局部变量,全局变量的作用域是整个程序,而局部变量的作 ...

Linux 开启echo等服务

第一步: 需要安装xinetd服务(其实daytime就包含在xinetd服务中),安装就直接在"新立得软件管理器"里搜索,安装. sudo apt-get install xin ...

Ruby学习之代码块

代码块在其他的语言中都或多或少接触过一些,如perl中sort{$a<=>$b}keys,传入代码块实现按数值排序,在swift中用到闭包,更加深入学习到training closure. ...

java list 转json 字符串_JSON的String字符串与Java的List列表对象的相互转换相关推荐

  1. php 把java list对象转成数组,java_JSON的String字符串与Java的List列表对象的相互转换,在前端: 1.如果json是List对象 - phpStudy...

    JSON的String字符串与Java的List列表对象的相互转换 在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到 ...

  2. java解析string_java读取文件内容为string字符串的方法

    直接就把项目中的方法贴出来吧 /** * 读出城市列表文件 */ private String readCityFile() { File file02 = new File(path_xinfu, ...

  3. java读取string_java读取文件内容为string字符串的方法

    java读取文件内容为string字符串的方法 发布时间:2020-10-02 22:03:04 来源:脚本之家 阅读:67 作者:tmgg 直接就把项目中的方法贴出来吧 /** * 读出城市列表文件 ...

  4. java 父子级json组装不用递归_2020面试阿里Java研发岗题库总结,想虐面试官不能错过的面试宝典...

    前言: 虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面.面试开始会让自我介绍,主要业务架构和技术架构两部分.业务架构一般不会深究,但要面试官听明白,并且一般面 ...

  5. Java中split的用法,分割String字符串

    1.split对字符串以给定的字符进行分隔,得到字符串数组.split有两种定义方法.一种是split(String regex):String[]-string.regex是要分隔的字符. 2.另一 ...

  6. java 命名规范 json大小写_JSON.toJSONString会把key的首字母转成小写

    一个项目需求要求返回值为JSON格式,且大多数字段是首字母大写,还有些是类似N_TX这样的格式,在输出这样的结果时遇到了问题,由于时间紧,就直接拷贝需要的结果字段建立JavaBean类,本以为最后直接 ...

  7. python unicode转字符串_Python2.X如何将Unicode中文字符串转换成 string字符串

    普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码: unicodestring = u"Hello world" # 将Unicode转化为普通Py ...

  8. intern string java_聊聊java String的intern

    序 本文主要研究一下java String的intern String.intern() java.base/java/lang/String.java public final class Stri ...

  9. C语言自定义实现string字符串的算法(附完整源码)

    C语言自定义实现string字符串的算法 string字符串的定义pstring.h(完整源码) string字符串的实现pstring.cpp(完整源码) string字符串的定义pstring.h ...

最新文章

  1. Python按行读取文件、写文件
  2. java如何重新执行函数_java如何遍历执行方法/函数
  3. 对SetViewportOrg和SetWindowOrg的理解
  4. Spark transformation算子案例
  5. Vue3的响应式原理解析
  6. mysql数据库索引页号为什么从3开始_MySQL数据库快问快答
  7. java重入锁 自旋锁_java 自旋锁(可重入且无死锁)
  8. WebStorm 是什么软件
  9. 变身吧,无人机:多种姿势可以选择,你喜欢X还是O?
  10. Mycat适合场景及不适合场景
  11. 拓端tecdat|R语言使用自组织映射神经网络(SOM)进行客户细分
  12. Rust 1.34替代Cargo注册表 与crates.io共存
  13. vue导入txt文本
  14. 19年4月超星尔雅《移动互联网时代的信息安全与防护》期末考试参考答案(94分)
  15. 东南计算机研究生英语免修条件,2017级硕士研究生英语免修总名单
  16. 010 Editor 之 二进制查看修改神器
  17. Apple M1 开启HiDPI的新方法,无需关闭SIP,无需SwitchResX
  18. 深度搜索(DFS) 和 广度搜索(BFS)
  19. 2019杭电多校训练营(第一场)
  20. 【Python成长之路】快速理解复制、浅拷贝、深拷贝

热门文章

  1. python 处理csv文件 一个简单的数据处理任务
  2. 项目_基于Android的信息化医疗服务系统
  3. 阿里云ECS云盘在线扩容
  4. 阿里云服务器新用户优惠
  5. fabu gewewew
  6. Iris鸢尾花数据集可视化、线性回归、决策树分析、KMeans聚类分析
  7. 为ibus安装极点五笔字库
  8. Array.isArray() 判断是不是数组
  9. 【北邮国院大三下】Cybersecurity Law 网络安全法 Week1【更新Topic4, 5】
  10. springboot vue婚纱摄影师作品展示网站系统javaweb项目