JSONObject应用Json字符串和Object对象之间的转换,Map封装数据思路

package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField; public class Item {
private String id;
@JSONField(serialize = false) //fastjson 忽略字段打印
private String rate; private String status; public Item() {
} public Item(String id, String rate) {
this.id = id;
this.rate = rate;
} @Override
public String toString() {
return "Item{" +
"id='" + id + '\'' +
", rate='" + rate + '\'' +
", status='" + status + '\'' +
'}';
} public String getStatus() {
return status;
} public void setStatus(String status) {
this.status = status;
} /**
* output {"id":"111"}
* @param args
*/
public static void main(String[] args) {
Item item = new Item();
item.setId("111");
item.setRate("56666");
System.out.println(JSON.toJSONString(item));
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getRate() {
return rate;
} public void setRate(String rate) {
this.rate = rate;
}
} package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; /**
* output:
* jsonString={"id":"4"}
* id=4
* status=成功
* item2=Item{id='4', rate='null', status='成功'}
* item3=Item{id='4', rate='null', status='成功'}
*/
public class JSONObjectTest {
public static void main(String[] args) {
Item item = new Item("4","100");
String jsonString = JSON.toJSONString(item);
System.out.println("jsonString="+jsonString);
JSONObject jsonObject = JSON.parseObject(jsonString);
if (jsonObject.containsKey("id")) {
String id = jsonObject.getString("id");
System.out.println("id=" + id);
}
if (jsonObject.containsKey("rate")) {
String rate = jsonObject.getString("rate");
System.out.println("rate=" + rate);
} //封装数据
jsonObject.put("status","成功");
if (jsonObject.containsKey("status")) {
String status = jsonObject.getString("status");
System.out.println("status=" + status);
}
// T = JSON.parseObject("json","Class T");
Item item2 = jsonObject.toJavaObject(Item.class);
System.out.println("item2=" + item2.toString()); Type type = new TypeToken<Item>() {}.getType();
Item item3 = jsonObject.toJavaObject(type);
System.out.println("item3=" + item3.toString()); }
}
package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField; public class Item {
private String id;
@JSONField(serialize = false) //fastjson 忽略字段打印
private String rate; private String status; public Item() {
} public Item(String id, String rate) {
this.id = id;
this.rate = rate;
} @Override
public String toString() {
return "Item{" +
"id='" + id + '\'' +
", rate='" + rate + '\'' +
", status='" + status + '\'' +
'}';
} public String getStatus() {
return status;
} public void setStatus(String status) {
this.status = status;
} /**
* output {"id":"111"}
* @param args
*/
public static void main(String[] args) {
Item item = new Item();
item.setId("111");
item.setRate("56666");
System.out.println(JSON.toJSONString(item));
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getRate() {
return rate;
} public void setRate(String rate) {
this.rate = rate;
}
} package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; /**
* output:
* jsonString={"id":"4"}
* id=4
* status=成功
* item2=Item{id='4', rate='null', status='成功'}
* item3=Item{id='4', rate='null', status='成功'}
*/
public class JSONObjectTest {
public static void main(String[] args) {
Item item = new Item("4","100");
String jsonString = JSON.toJSONString(item);
System.out.println("jsonString="+jsonString);
JSONObject jsonObject = JSON.parseObject(jsonString);
if (jsonObject.containsKey("id")) {
String id = jsonObject.getString("id");
System.out.println("id=" + id);
}
if (jsonObject.containsKey("rate")) {
String rate = jsonObject.getString("rate");
System.out.println("rate=" + rate);
} //封装数据
jsonObject.put("status","成功");
if (jsonObject.containsKey("status")) {
String status = jsonObject.getString("status");
System.out.println("status=" + status);
}
// T = JSON.parseObject("json","Class T");
Item item2 = jsonObject.toJavaObject(Item.class);
System.out.println("item2=" + item2.toString()); Type type = new TypeToken<Item>() {}.getType();
Item item3 = jsonObject.toJavaObject(type);
System.out.println("item3=" + item3.toString()); }
}

JSONObject应用Json字符串和Object对象之间的转换,Map封装数据思路的更多相关文章

  1. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

  2. C#-使用Newtonsoft.Json实现json字符串与object对象互转

    json字符串转object对象: IF004Response processResponse = JsonConvert.DeserializeObject<IF004Response> ...

  3. Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mengzhengbin520.blog.51cto.com/7590564/12 ...

  4. Java基础97 json插件的使用(java对象和json字符串对象之间的转换)

    1.需要用到的包 2.实例 实体类 people package com.shore.entity; /** * @author DSHORE/2019-4-19 * */ public class ...

  5. Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换

    总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain; public clas ...

  6. java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...

  7. c#中jeson字符串和OBJECT对象的相互转换

    对于本问题   我用三步来分别说明实现过程 1.定义一个类---- 实现转换的具体方法 using System; using System.Collections.Generic; using Sy ...

  8. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

  9. Java中JSON字符串与java对象的互换实例详解(转)

    http://www.jb51.net/article/90914.htm 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要 ...

  10. JSON字符串与java对象的转换

    所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar ...

随机推荐

  1. 【开通指南】 实时计算 Flink 全托管版本

    简介: [开通指南]实时计算 Flink 全托管版本 1.试用的实时计算 Flink 版产品是后付费还是预付费?是否有额外费用产生?预付费,有额外的SLB费用,一天2元封顶.(开通 Flink 全托管 ...

  2. Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算

    ​简介:如何以 Serverless 的方式运行 Spring Boot 应用? ​ 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 ...

  3. 修复 WPF 安装 WindowsAppSDK 库构建失败 NETSDK1082 和 NETSDK1112 找不到 win10-arm 失败

    通过在 WPF 项目上安装 WindowsAppSDK 库,可以让 WPF 使用上 Win10 及以上版本提供的 Windows Runtime 强大的 API 集和使用上更多的黑科技.本文记录在安装 ...

  4. S3-FIFO

    S3-FIFO 本文作为下一篇缓存文章的预备知识. 背景 基于LRU和FIFO的驱逐 FIFO和LRU都是经典的缓存驱逐算法,在过去几十年中也出现了很多追求更高效率的驱逐算法,如ARC, 2Q, LI ...

  5. 9.prometheus监控--监控springboot2.x(Java)

    一.环境部署 yum search java | grep jdk yum install -y java-11-openjdk-devel 二.监控java应用(tomcat/jar) JMX ex ...

  6. OLAP系列之分析型数据库clickhouse集群扩缩容(四)

    一.集群缩容 1.1 下线节点 步骤:1.对外停止服务2.转移数据3.修改剩余节点配置4.通知客户端修改节点列表 # 修改90,91服务器配置文件 vim /etc/clickhouse-server ...

  7. 六、Doris数据流与控制流

    目录: 数据查询 数据导入 元数据修改 1.查询 用户可使用MySQL客户端连接FE,执行SQL查询, 获得结果,查询流程如下: 分步说明: ① MySQL客户端执行DQL SQL命令. ② FE解析 ...

  8. ansible(11)--ansible的user和group模块

    1. group模块 功能:管理被控端用户组: 主要参数如下: 参数 说明 name 指定创建的组名 gid 为组设置gid state 是否将组创建在远程主机上,创建:present(Default ...

  9. uni-app上使用leaflet地图的解决方案

    在uni-app上自带有map组件,但是那个组件功能太弱,很多高级用法很难实现.用npm添加leaflet呢,又各种报错. 偶然和朋友聊起,可以用html来实现leaflet地图,然后用webview ...

  10. 二分法(POJ-1064与POJ-2456)

    二分查找,简而言之就是在一个有序的序列中找一个元素,因为这些元素已经有序,所以每次都将要找的数跟待寻找序列的中间元素比较,如果要找的数大于中间元素,说明接下来只需要在该序列的右半边中找,所以可以不用管 ...