Java Json操作

摘要:
FastJsonmaven<dependency><groupId>com。alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.61</version><dependency>Java对象传输到JsonpublicclassPerson{@JSONField(name=“age”)私有内容;@JSONField

FastJson

maven

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.61</version>
</dependency>

Java对象转Json

public class Person {

    @JSONField(name = "age")
    private int age;

    @JSONField(name = "name")
    private String name;

    @JSONField(name = "dateTime", format = "yyyy-MM-dd")
    private Date dateTime;

    public Person(int age, String name, Date dateTime) {
        super();
        this.age = age;
        this.name = name;
        this.dateTime = dateTime;
    }
    // getter and setter
List<Person> listOfPersons = new ArrayList<Person>();
listOfPersons.add(new Person(28, "iFan", new Date()));
listOfPersons.add(new Person(18, "fanfan", new Date()));
String jsonOutput = JSON.toJSONString(listOfPersons);
System.out.println(jsonOutput);
Map<String, Object> map = new HashMap<>();
map.put("name", "iFan");
map.put("age", 18);
map.put("dateTime", new Date());
jsonOutput = JSON.toJSONString(map);
System.out.println(jsonOutput);

Json转为Java对象

Person person = new Person(18, "iFan", new Date());
String jsonObject = JSON.toJSONString(person);
Person newPerson = JSON.parseObject(jsonObject, Person.class);
// List 对象
List<Person> listOfPersons = new ArrayList<Person>();
listOfPersons.add(new Person(28, "iFan", new Date()));
listOfPersons.add(new Person(18, "fanfan", new Date()));
jsonObject = JSON.toJSONString(listOfPersons);
List<Person> newPerson = JSON.parseArray(jsonObject, Person.class);

创建 Json 对象

    JSONArray jsonArray = new JSONArray();
    for (int i = 0; i < 2; i++) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("age", 10);
        jsonObject.put("name", "ifan " + i);
        jsonArray.add(jsonObject);
    }
    String jsonOutput = jsonArray.toJSONString();
    int age = jsonArray.get(0).getIntValue("age");

Gson

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>
Gson gson = new GsonBuilder()
        //序列化null
        .serializeNulls()
        // 设置日期时间格式,另有2个重载方法
        // 在序列化和反序化时均生效
        .setDateFormat("yyyy-MM-dd")
        // 禁此序列化内部类
        .disableInnerClassSerialization()
        //生成不可执行的Json(多了 )]}' 这4个字符)
        .generateNonExecutableJson()
        //禁止转义html标签
        .disableHtmlEscaping()
        //格式化输出
        .setPrettyPrinting()
        .create();

Java对象转Json

Gson gson = new Gson();
String json = gson.toJson(new Person(18, "iFan", new Date()));
System.out.println(json);

Json转Java对象

Person person = gson.fromJson(json, Person.class);
System.out.println(person);

Json对象

JsonObject json = new JsonObject();
json.addProperty("name", "ifan");
json.addProperty("age", 18);

Gson学习文章

免责声明:文章转载自《Java Json操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇邓_Jquery测试题dovecot--查询未读邮件个数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springboot使用RestTemplate+httpclient连接池发送http消息

简介 RestTemplate是spring支持的一个请求http rest服务的模板对象,性质上有点像jdbcTemplate RestTemplate底层还是使用的httpclient(org.apache.http.client.HttpClient)发送请求的 HttpClient可以做连接池,而发送消息的工具类可以使用RestTemplate,...

arcgis for android 本地缓存

    最近做的arcgis for android项目中由于移动和电信网络实在太慢,加上流量消耗也厉害。想到谷歌和百度都使用了缓存的方法。即将浏览过的地图保存到SD卡中,下次浏览相同地块的时候就不需要在从网上下载直接调用本地即可。在API中找了一通没法发现有类似功能的接口,问esri的人也没有回复。算了继承TiledServiceLayer自己实现一个吧...

Java几种常用JSON库性能比较

本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。 每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。 JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。 目前对于J...

记录一下遇到的问题 java将json数据解析为sql语句

这样的json数据转换成sql语句   解决办法 import java.util.Iterator; import java.util.Set; import java.util.Map.Entry; import com.google.gson.JsonArray; import com.google.gson.JsonElement; imp...

java多线程案例

packagecom.alibaba.yuntu.me.biz.district.service.impl.MyUtis; importcom.alibaba.fastjson.JSONObject; importcom.alibaba.yuntu.me.common.base.util.HttpUtil; importlombok.SneakyThro...

JSONObject基本内容(二)

参考内容:http://swiftlet.net/archives/category/json  十分感谢!!! 这部分的内容主要是讲述 javaBean转换为JSONObect时,如果有些属性不需要转换,那么该如何操作。 过滤属性在什么时候会用到呢? 有时候我们会把对象以json格式传送,如果一个对象携带着一些私人信息,那么我们就要先把这些信息过滤掉,再...