json与对象相互转换

package cn.itcast.test;

import cn.itcast.domain.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;

import java.io.FileWriter;
import java.util.*;

public class JacksonTest {

//Java对象转为JSON字符串
@Test
public void test1() throws Exception {
    //1.创建Person对象
    Person p  = new Person();
    p.setName("张三");
    p.setAge(23);
    p.setGender("男");

    //2.创建Jackson的核心对象  ObjectMapper
    ObjectMapper mapper = new ObjectMapper();
    //3.转换
    /*

        转换方法:
            writeValue(参数1,obj):
                参数1:
                    File:将obj对象转换为JSON字符串,并保存到指定的文件中
                    Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
                    OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
            writeValueAsString(obj):将对象转为json字符串

     */
    String json = mapper.writeValueAsString(p);
    //{"name":"张三","age":23,"gender":"男"}
    //System.out.println(json);//{"name":"张三","age":23,"gender":"男"}

    //writeValue,将数据写到d://a.txt文件中
    //mapper.writeValue(new File("d://a.txt"),p);

    //writeValue.将数据关联到Writer中
    mapper.writeValue(new FileWriter("d://b.txt"),p);
}

@Test
public void test2() throws Exception {
    //1.创建Person对象
    Person p = new Person();
    p.setName("张三");
    p.setAge(23);
    p.setGender("男");
    p.setBirthday(new Date());

    //2.转换
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(p);

    System.out.println(json);//{"name":"张三","age":23,"gender":"男","birthday":1530958029263}
                            //{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"}
}

@Test
public void test3() throws Exception {
    //1.创建Person对象
    Person p = new Person();
    p.setName("张三");
    p.setAge(23);
    p.setGender("男");
    p.setBirthday(new Date());

    Person p1 = new Person();
    p1.setName("张三");
    p1.setAge(23);
    p1.setGender("男");
    p1.setBirthday(new Date());

    Person p2 = new Person();
    p2.setName("张三");
    p2.setAge(23);
    p2.setGender("男");
    p2.setBirthday(new Date());

    //创建List集合
    List<Person> ps = new ArrayList<Person>();
    ps.add(p);
    ps.add(p1);
    ps.add(p2);

    //2.转换
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(ps);
    // [{},{},{}]
    //[{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"张三","age":23,"gender":"男","birthday":"2018-07-07"}]
    System.out.println(json);
}

@Test
public void test4() throws Exception {
    //1.创建map对象
    Map<String,Object> map = new HashMap<String,Object>();
    map.put("name","张三");
    map.put("age",23);
    map.put("gender","男");

    //2.转换
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(map);
    //{"name":"张三","age":23,"gender":"男"}
    System.out.println(json);//{"gender":"男","name":"张三","age":23}
}

//演示 JSON字符串转为Java对象
@Test
public void test5() throws Exception {
   //1.初始化JSON字符串
    String json = "{\"gender\":\"男\",\"name\":\"张三\",\"age\":23}";

    //2.创建ObjectMapper对象
    ObjectMapper mapper = new ObjectMapper();
    //3.转换为Java对象 Person对象
    Person person = mapper.readValue(json, Person.class);

    System.out.println(person);
}

}

原文地址:https://www.cnblogs.com/hellosiyu/p/12502894.html

时间: 2024-10-10 17:26:24

json与对象相互转换的相关文章

JSON字符串对象相互转换

JSON字符串转换为JSON对象:          var obj = str.parseJSON()                var obj = JSON.parse(str) 将JSON对象转化为JSON字符:          var last=obj.toJSONString()             var last=JSON.stringify(obj) 原文地址:https://www.cnblogs.com/zhizhic/p/9952437.html

基础拾遗 C# Json 与对象相互转换

方法一.JavaScriptSerializer 方法二.JsonConvert 示例: Web API项目 1.新建 Model: namespace WebApi{ public class Product { public string Name { set; get; } public string Price { set; get; } } public class ShoppingCart { public string Name { set; get; } public List<

json字符串和json格式对象的转换

json字符串和json格式对象的转换: 实际编码中json字符串和json格式的对象有时候需要进行相互转换,下面就介绍一下如何实现. 一.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); 以上代码可以将json字符串转换为json格式对象. 二.浏览器支持的转换方式: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 注意:ie7和i

java处理json与对象的转化 递归

整个类是一个case,总结了我在使用java处理json的时候遇到的问题,还有级联关系的对象如何遍历,json和对象之间的转换! 对于对象json转换中遇到的问题我参考了一篇博客,http://blog.csdn.net/xq328220454/article/details/39256589 很有益处,我在文章的后半部分照搬了过来! 首先准备数据,准备了一堆具有主子关系的对象,包含普通属性id,父对象parent,子集合list<HeadCell>,还有关联对象message; 1 @Bef

Objective-C:Objective-C 和 Core Foundation 对象相互转换的内存管理

Objective-C 和 Core Foundation 对象相互转换的内存管理 iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力: CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSString *)aCFString; 针对内存管理问题,ARC 可以帮忙管理 Objective-

JavaScript DOM对象和JQuery对象相互转换

1.分析源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C

C#处理微信json(将JSON转换为对象)

刚才做微信获取粉丝基本信息,获取了json数据,但怎么把json转换为对象呢? 师傅告诉我有两种方法(还有没有其它的我就不知道了),一个是http://json2csharp.com/这个网站,把json格式的数据粘贴上去生成,但告诉你的是,我没成功,半年半年没响应,具体如图: , 能否实现就看人品了. 上一个方法没实现也没关系,还有第二个方面呢,我就是用第二个方法完成的,刚开始师傅说这种方法的时候,我试了第一个方法后试第二个方法,尽然没成功,自己要不知道错误出在哪里,先给你们看图: ,刚开始也

【JQuery】jquery对象和javascript对象即DOM对象相互转换

jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法:例如: $("#img").attr("src","test.jpg"); 这里的 $("#img")就是 jQuery 对象. DOM对象就是Javascript 固有的一些对象操作.DOM 对象能使用Javascript 固有的方法,但是不能使用

.Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询.目前已被微软集成于webapi框架之中,因此,熟练掌握JSON.NET相当重要,这篇文章是零度参考官网整理的示例,通过这些示例,可以全面了解JSON.NET提供的功能. Newtonsoft.Json的地址: 官网:http://json.codeplex.com/ 源码地址:https://gi