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. Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题

    简介: 2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang.众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇.Java 版 Seata ...

  2. 云原生 DevOps,模型化应用交付能力很重要!

    ​简介: DevOps 文化及其支撑其落地实践的自动化工具与平台能力在云原生架构渐为普及的背后,发挥了关键的价值. 撰稿:溪洋 云原生正在成为企业业务创新和解决规模化挑战的加速器. 云原生带来的变革绝 ...

  3. 案例|自建or现成工具?小型创业团队敏捷研发探索

    简介: 实践和踩坑建议. 我是刘永良,是一名全栈开发者也是一名创业者,来自济南--一个目前被称为互联网洼地的地方.2020年4月和三位志同道合的朋友,在济南共同创建了山东旷野网络科技有限公司,主要从事 ...

  4. [FAQ] Composer, Content-Length mismatch

    1. $ composer config repos.packagist composer https://php.cnpkg.org$ composer config cache-files-max ...

  5. dotnet 使用 windbg 运行脚本方式自动批量调试处理 dump 文件

    本文将和大家介绍一个简单且实际用途不大的使用 windbg 配合脚本的方式,进行自动化的大批量对 dotnet 系应用的 dump 进行自动化分析调试处理,可以自动根据调试需求输出 dump 文件的一 ...

  6. dotnet 警惕使用 StackTrace 加获取方法标记 Attribute 特性在 Release 下被内联

    大家都知道,在 dotnet 里的 Debug 下和 Release 下的一个最大的不同是在 Release 下开启了代码优化.启用代码优化,将会对生成的 IL 代码进行优化,同时优化后的 IL 也会 ...

  7. three.js实现相机碰撞,相机不穿墙壁、物体

    大家好,本文实现了相机碰撞检测,使相机不穿墙壁.物体,并给出了思路和代码,感谢大家~ 关键词:数字孪生.three.js.Web3D.WebGL.相机碰撞.游戏相机 我正在承接Web3D数字孪生项目, ...

  8. selenium项目中遇到的问题总结

    问题:在pycharm中运行用例能成功,在命令行运行提示找不到com包解决办法:添加一个PYTHONPATH的环境变量,值为工程目录的路径 当要查找的文本前后有换行时,用如下方法解决//td[cont ...

  9. postman使用中问题汇总

    当用postman来通过接口造数据时,读取参数化文件中身份证字段的值读取错误. 参数文件如下 选择参数文件后预览的数据如下 身份证号码全部变成了0000结尾的 解决方案: 需要将身份证号码用引号引起来 ...

  10. 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

    一.背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的. 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的 ...