JSON.parseObject 和 JSON.toJSONString

JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,Json字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解这两个方法的用法。

首先用maven引入fastjson:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wujiang.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <fastjson_version>1.2.28</fastjson_version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson_version}</version>
        </dependency>
    </dependencies>
</project>

定义一个model类,员工,有四个属性,如下所示:

package jsonTest;

import java.util.Date;

/**
 * @author wujiang
 * @version 1.0.0.
 * @date 2017/4/30
 */
public class Staff {
    private String name;
    private Integer age;
    private String sex;
    private Date birthday;

    //省略getter和setter方法
    @Override
    public String toString() {
        return "Staff{" +
                "name=‘" + name + ‘\‘‘ +
                ", age=" + age +
                ", sex=‘" + sex + ‘\‘‘ +
                ", birthday=" + birthday +
                ‘}‘;
    }
}

好的,下一步,测试一下JSON.parseObject 和 JSON.toJSONString方法。这里故意在Json字符串中多了一个telephone,少了一个Staff中的birthday,看看输出的对象会有什么变化:

package jsonTest;

import com.alibaba.fastjson.JSON;

/**
 * @author wujiang
 * @version 1.0.0.
 * @date 2017/4/30
 */
public class jsonTest {
    public static void main(String[] args) {
        /**
         * json字符串转化为对象
         */
        String jsonString = "{name:‘Antony‘,age:‘12‘,sex:‘male‘,telephone:‘88888‘}";
        Staff staff = JSON.parseObject(jsonString, Staff.class);
        System.out.println(staff.toString());

        /**
         * 对象转化为json字符串
         */
        String jsonStr = JSON.toJSONString(staff);
        System.out.println(jsonStr);
    }
}

输出结果:

Staff{name=‘Antony‘, age=12, sex=‘male‘, birthday=null}

{"age":12,"name":"Antony","sex":"male"}
//如果age是String类型,那么输出结果变为
//{"age":"12","name":"Antony","sex":"male"}

在JSON.parseObject 的时候,会去填充名称相同的属性。对于Json字符串中没有,而model类有的属性,会为null;对于model类没有,而Json字符串有的属性,不做任何处理。

原文地址:https://www.cnblogs.com/XJJD/p/8758862.html

时间: 2024-11-09 03:26:03

JSON.parseObject 和 JSON.toJSONString的相关文章

JSON.parseobject()和JSON.parseArray()区别

JSON.parseArray(): 这个方法的作用就是将json格式的数据转换成数组格式. 假设有Person这个类,有json类型数据jsonStr = [{"name":"张三","age":"1"},{"name":"李四","age":"4"}],那么List lists = json.parseArray(jsonStr, Person

JSON.parseObject笔记

关于JSON.parseObject使用记录 1.新建bean NewBean: public class NewBean{ private String name; private String age; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(String age){ this.age = age; } pu

谈谈fastjson反序列方法JSON.parseObject(String text, Class&lt;T&gt; clazz)--来源于生产实践

fastjson这一工具包帮助我们进行java对象和json格式的字符串之间的相互转换.对象到字符串的过程,我们称之为序列化:反之,我们称为反序列化. 现在我们就来谈谈fastjson提供的反序列化方法,本篇只讨论按照指定的字节码返回相应对象的的反序列化方法,该方法有多种重载形式,按照重叠构造的模式设计.常用的入口为:JSON.parseObject(String text, Class<T> clazz),其调用链为: JSON.parseObject(String text, Class&

alibaba的FastJson(高性能JSON开发包) json转换

http://www.oschina.net/code/snippet_228315_35122 1 class User{ 2 private int id; 3 private String name; 4 public int getId() { 5 return id; 6 } 7 public void setId(int id) { 8 this.id = id; 9 } 10 public String getName() { 11 return name; 12 } 13 pub

json对象和json字符串转换方法

在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明确2个概念例如: JSON字符串: var str1 = '{ "name": "deyuyi", "sex": "man" }'; JSON对象: var str2 = { "name": "del

js 将json字符串转换为json兑现

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man"

javascript、js操作json方法总结(json字符创转换json对象)

相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资 料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.) json可以以数组传递,也可以以对象传递,我前面的文章PHP对发布版本时间轴数据处理,返回的json格式,是一个数组json,然后里面含有对象,这是json常见的格式.后来经过php的处理,结构又发生了变化,最外层是一个对象了,里面是数组和

json对象转换为json字符串

json对象转换为json字符串         可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串.         1. toJSONString()方法                 var last=obj.toJSONString(); //将JSON对象转化为JSON字符         2. JSON.stringify()方法                 var last=JSON.stringify(obj)

json对象和json字符串有啥区别啊

json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ajax中,我们自己拼接的是一个JSON对象,以为它是无数据类型的,所以JS根据其格式默认其实对象, 你要是往后台发,要先把它装换成JSON字符. 从ajax的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JSON对象才行. 太厉害了. 在数据传输过程中,json是以文本,即字符串