`
wx1569020408
  • 浏览: 26845 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

json数据转换实例

 
阅读更多

public static void main(String[] args) {
ClassA a = new ClassA();
a.setName("className01");
List<Student> stuList = new ArrayList<>();
for(int i=0; i<3; i++){
Student stu = new Student();
stu.setName("test"+i);
stu.setAge(i);
stuList.add(stu);
}

a.setStudentList(stuList);

//bean 2 string
JSONObject jObj = JSONObject.fromObject(a);
String jsonStr = jObj.toString();
System.out.println(jsonStr);

//string 2 jsonobject
JSONObject jsonObj = JSONObject.fromObject(jsonStr);
System.out.println("class name ="+jsonObj.getString("name"));
JSONArray jsonArray = jsonObj.getJSONArray("studentList");
for(int i=0; i<jsonArray.size(); i++){
JSONObject student = (JSONObject)jsonArray.get(i);
System.out.println("name ="+student.getString("name"));
System.out.println("age ="+student.getString("age"));

}

//string 2 bean 方法1
Map<String,Class> classMap = new HashMap<>();
classMap.put("studentList", Student.class);
ClassA b = (ClassA)JSONObject.toBean(jsonObj, ClassA.class, classMap);
System.out.println("class name ="+b.getName());
List<Student> stuList02 = b.getStudentList();
for(int i=0; i<stuList02.size(); i++){
Student stu = stuList02.get(i);
System.out.println(stu.getName());
System.out.println(stu.getAge());
}

//string 2 bean 方法2
ObjectMapper objectMapper=new ObjectMapper();
ClassA c = null;
try {
c=objectMapper.readValue(jsonStr, ClassA.class);
System.out.println("class name ="+c.getName());
List<Student> stuList03 = c.getStudentList();
for(int i=0; i<stuList03.size(); i++){
Student stu = stuList03.get(i);
System.out.println(stu.getName());
System.out.println(stu.getAge());
}
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}

package com.test.pojo;

import java.util.List;

public class ClassA {
private String name;
private List<Student> studentList;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Student> getStudentList() {
return studentList;
}
public void setStudentList(List<Student> studentList) {
this.studentList = studentList;
}
}

package com.test.pojo;

public class Student {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}

注:1) JSONObject.fromObject(javabean)中的javabean.class必须为public,否则会报:Property '***' has no getter method

2) JSONObject.toBean可直接用于简单数据类型的Class,如果里面有复杂数据类型,需使用Map<String,Class>,

其中key为复杂数据类型的属性名,Class为复杂数据类型的类名



转载于:https://my.oschina.net/superwind20/blog/1524161

分享到:
评论

相关推荐

    Json.net Json数据转换的利器

    在标题"Json.net Json数据转换的利器"中,"Json数据转换"是指Json.NET的主要功能,即处理JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    json数据 处理实例

    在C#中,处理JSON数据是常见的任务,尤其在ASP.NET Web应用程序开发中。 在C#中,我们通常使用.NET框架提供的System.Text.Json或第三方库如Newtonsoft.Json(Json.NET)来处理JSON。下面我们将深入探讨这两个库在...

    VB 分析json数据有实例代码

    在这个实例中,我们将探讨如何在VB中分析JSON数据,并提供相关的代码示例。 首先,我们需要一个库来解析和生成JSON。在VB.NET中,可以使用内置的System.Web.Script.Serialization命名空间中的JavaScriptSerializer...

    android之json和gson数据解析最完整的代码例子(包括各种样式的json数据)

    本文将详细介绍如何在Android应用中使用JSON和Gson进行数据解析,并通过实际代码示例来演示各种类型的JSON数据处理。 一、JSON基础 1. JSON格式:JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式...

    VB利用官方api读写JSON数据格式文件简单实例

    在本实例中,我们将探讨如何使用VB来实现JSON数据的读取和写入。 首先,我们需要引入一个能够处理JSON的库,因为VB.NET本身并不直接支持JSON操作。通常我们会使用Newtonsoft.Json库,这是一个非常流行的.NET JSON库...

    7、NIFI综合应用场景-将mysql查询出的json数据转换成txt后存储至HDFS中

    在本文中,我们将探讨一个具体的NIFI应用场景,即如何将从MySQL数据库中查询得到的JSON数据转换成TXT格式,并存储到HDFS(Hadoop分布式文件系统)中。这个场景在大数据处理和分析中非常常见,因为MySQL是常用的关系...

    android采用json解析数据的实例

    本实例将详细讲解如何在Android应用中解析JSON数据,主要涉及以下几个关键知识点: 1. JSON基础知识 JSON是一种轻量级的数据交换格式,其结构基于JavaScript语言的对象表示法,但JSON是独立于语言的。基本语法包括...

    基于protobuf反射特性的pb、json相互转换的实例程序(C++)

    本资源提供了一个基于protobuf反射特性的pb结构与json相互转换的实例,该实例程序主要有两个核心函数myMessage2Json、myJson2Message。前者的作用是将pb结构转换成对应的json,后者是将json转换成对应的pb结构体。...

    数据表转化为Json数据代码实现

    在IT行业中,数据转换是常见的任务之一,尤其是在处理多种数据格式之间交互时。本话题将深入探讨如何将一个`DataTable`对象转化为Json数据,这是在Web应用开发中尤为常见的需求,因为Json是一种轻量级、易于人读和...

    json实例json实例

    开发者可能使用JSP内置的脚本元素或者EL(Expression Language)来操作JSON数据,例如: ```jsp ;charset=UTF-8" language="java" %&gt; 留言系统 String jsonString = request.getParameter("message"); // ...

    已经实现了:(含源码)VB利用官方api读写JSON数据格式文件简单实例.zip

    3. 将JSON数据转换为VB可操作的对象,可以通过`selectSingleNode`或`selectNodes`获取JSON对象中的元素。 4. 从这些元素中提取所需数据。 写入JSON文件则涉及以下步骤: 1. 创建一个`MSXML2.DOMDocument60`对象,并...

    PHP调用接口用post方法传送json数据的实例

    该实例中,我们将使用curl扩展库来发起post请求,并将json数据作为请求体传送到服务器端。 首先,让我们了解一下post请求的基本概念。Post请求是一种常见的HTTP请求方法,用于将数据从客户端发送到服务器端。在本例...

    Revit模型转JSON数据测试数据(JSON数据)

    Revit模型转换为JSON数据是建筑信息模型(BIM)领域中的一个重要操作,它涉及到软件间的交互和数据交换。Revit是一款由Autodesk公司推出的建筑设计、结构工程和MEP(机械、电气、管道)工程的专业软件,它允许用户创建...

    Google Gson解析Json数据应用实例

    这个“Google Gson解析Json数据应用实例”旨在深入探讨Gson库的使用,帮助开发者更好地理解和运用它来处理JSON数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    asp生成json数据-调试实例

    这个“asp生成json数据-调试实例”压缩包很显然是为了帮助开发者学习如何在ASP中生成和处理JSON数据。 首先,我们需要理解ASP中的JSON生成。在ASP中,我们通常会使用VBScript或JScript作为脚本语言。要将ASP数据...

    asp输出json对象实例

    标签"asp json"表明这个实例是关于如何在ASP中操作和处理JSON数据的。 从提供的压缩包文件名称列表来看,我们可以推测这是一个完整的示例项目: - `index_json.asp`:这可能是主页面,包含了ASP代码,用于处理...

    .Net C# Json接口读取实例

    综上所述,本实例主要涵盖了使用C#、.NET和Json.NET库处理JSON数据,包括接口的读取、JSON的解析和导出Excel文档。通过实践这些代码,开发者可以深入理解JSON在C#环境中的应用,并提升相关技能。

    ios下json数据解析的实例

    本文将深入探讨在iOS环境下如何解析JSON数据,以“ios下json数据解析的实例”为主题,结合提供的代码示例——JsonDemo,进行详细讲解。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的数据交换格式,它基于...

    Jackson将json string转为Object,org.json读取json数组的实例

    使用ObjectMapper可以轻松地将JSON数据转换为Java对象,而org.json库的JSONArray和JSONObject类则提供了处理JSON数组和对象的方法。在实际应用过程中,需要根据具体的数据结构和需求来选择合适的方法,并注意异常...

    ASP 解析AJAX提交的JSON数据的实例

    3. **将接收到的二进制数据转换为字符串**:由于AJAX提交的数据通常是UTF-8编码的,因此需要将其转换为字符串。 ```vbscript Dim byteArr, strData Set byteArr = CreateObject("ADODB.Stream") byteArr.Type = 1 '...

Global site tag (gtag.js) - Google Analytics