年前在京东实习,和我一起实习的一妹子问我怎么对象转json,我。。。
嗯很简单呀,用fastjson就行了。fastjson是什么?

fastjson是什么?

Fastjson阿里巴巴工程师开源的一个 json 库:Fastjson,这个库在解析速度和易用性上来说都很不错。
在日志解析,前后端数据传输交互中,经常会遇到 String 与 map、json、xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言、跨前后端的事实上的标准数据交互格式。应该来说各个语言中 解析 json 的库都一大片,比如 python 都集成在了内置库中,成为标准 API,今天我们要聊的是 java 中如何方便的使用 json 格式。

推一个介绍json的网址

http://www.json.org/json-zh.html](http://www.json.org/json-zh.html

下面一个示例是如何使用Fastjson 把对象或数组转JSON

package test;  import java.util.ArrayList;
import java.util.List;  import com.alibaba.fastjson.JSON;  class User {  private String name;  private int age;  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public int getAge() {  return age;  }  public void setAge(int age) {  this.age = age;  }  @Override  public String toString() {  return "User [name=" + name + ", age=" + age + "]";  }
};  class UserGroup {  private String name;  private List<User> users = new ArrayList<User>();  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public List<User> getUsers() {  return users;  }  public void setUsers(List<User> users) {  this.users = users;  }  @Override  public String toString() {  return "UserGroup [name=" + name + ", users=" + users + "]";  }
}  class FastJsonTest {  public static void main(String[] args) {  // 构建用户geust  User guestUser = new User();  guestUser.setName("guest");  guestUser.setAge(28);  // 构建用户root  User rootUser = new User();  rootUser.setName("root");  guestUser.setAge(35);  // 构建用户组对象  UserGroup group = new UserGroup();  group.setName("admin");  group.getUsers().add(guestUser);  group.getUsers().add(rootUser);  // 用户组对象转JSON串  String jsonString = JSON.toJSONString(group);  System.out.println("jsonString:" + jsonString);  // JSON串转用户组对象  UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);  System.out.println("group2:" + group2);  // 构建用户对象数组  User[] users = new User[2];  users[0] = guestUser;  users[1] = rootUser;  // 用户对象数组转JSON串  String jsonString2 = JSON.toJSONString(users);  System.out.println("jsonString2:" + jsonString2);  // JSON串转用户对象列表  List<User> users2 = JSON.parseArray(jsonString2, User.class);  System.out.println("users2:" + users2);  }
}

输出结果:

jsonString:{"name":"admin","users":[{"age":35,"name":"guest"},{"age":0,"name":"root"}]}
group2:UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]]
jsonString2:[{"age":35,"name":"guest"},{"age":0,"name":"root"}]
users2:[User [name=guest, age=35], User [name=root, age=0]]

补充:

提一个注释:@JSONField
通过@JSONField注解设置json属性与成员变量对应关系
举个小例子:


public class News {private String appId;private String title;private String intro;private String source;private String url;private Date updateTime;@Overridepublic String toString() {return "News{" +"appId='" + appId + '\'' +", title='" + title + '\'' +", intro='" + intro + '\'' +", source='" + source + '\'' +", url='" + url + '\'' +", updateTime=" + updateTime +'}';}@JSONField(name="app_id")public String getAppId() {return appId;}@JSONField(name="app_id")public void setAppId(String appId) {this.appId = appId;}@JSONField(name="title")public String getTitle() {return title;}@JSONField(name="title")public void setTitle(String title) {this.title = title;}@JSONField(name="intro")public String getIntro() {return intro;}@JSONField(name="intro")public void setIntro(String intro) {this.intro = intro;}@JSONField(name="source")public String getSource() {return source;}@JSONField(name="source")public void setSource(String source) {this.source = source;}@JSONField(name="url")public String getUrl() {return url;}@JSONField(name="url")public void setUrl(String url) {this.url = url;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public Date getUpdateTime() {return updateTime;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}
}

推荐一个详细的Fastjson讲解:https://www.w3cschool.cn/fastjson/fastjson-jsonfield.html

说一下对象或数组转JSON怎么转【fastjson】相关推荐

  1. fastjson php,Fastjson 对象或数组转JSON

    Fastjson阿里巴巴工程师开源的一个 json 库:Fastjson,这个库在解析速度和易用性上来说都很不错. 在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.x ...

  2. ES6中Map与对象、数组,JSON之间的相互转换

    Map转为数组 const map = new Map(); map.set(1,"foo").set(2,"bar").set(3,"baz&quo ...

  3. JAVA对象、数组转JSON

    1.需要库: commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.1.jar commons-logging- ...

  4. PHP 多维数组转json对象

    PHP 多维数组转json对象 php 数组转json对象,可能大家都知道要用json_encode,但是转换出来的格式多有不同,此处做个小小的记录! 1. 一维数组转json对象 <?php ...

  5. php的对象和数组应该学js,JavaScript数组与对象的常用方法及 json 的序列化

    一.JavaScript数据类型: 1- 原始类型:number(数值),string(字符串),boolean(布尔值)var age = 18; var username = "admi ...

  6. json vue 对象转数组_vue 基础入门(一)修改

    vue基础入门(一) 1. 什么是vue Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标 ...

  7. php json 数组 区别,PHP实战:JSON两种结构之对象和数组的理解

    <PHP实战:JSON两种结构之对象和数组的理解>要点: 本文介绍了PHP实战:JSON两种结构之对象和数组的理解,希望对您有用.如果有疑问,可以联系我们. JSON简介 PHP实战JSO ...

  8. c#json对象转数组_数组和对象的区别

    数组和对象两者都可以用来表示数据的集合,曾一度搞不清楚"数组"(array)和"对象"(object)的根本区别在哪里. 有一个数组a=[1,2,3,4],还有 ...

  9. java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...

    一个简单的demo.用户在前台页面表单输入数据表的信息,数据传递到后台,系统自动在后台创建数据库表(table)的功能. 作为简单demo,这里的表只有"表名","列名& ...

最新文章

  1. Ocelot(五)- 流量限制、服务质量
  2. python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...
  3. 组装电脑配置单报价_组装电脑配置单推荐,性价比高的游戏、画图和办公全能配置电脑!...
  4. HDU 1085 Holding Bin-Laden Captive!
  5. whitelabel error page怎么解决_pyppeteer使用遇到的bug及解决方法
  6. java 编写 servlet 程序_Java技术分享:如何编写servlet程序
  7. Oracle数据库中dual是什么东西啊?
  8. linux下gcc/g++命令
  9. 一般的病毒通过注册表自启动的方式不断完善中。。。。
  10. 如何处理tomcat默认错误页面
  11. Vue前端验证一个text只能输入手机号或邮箱
  12. 最大报销额(01背包)
  13. 手机芯片的AP、BP和CP
  14. Ps简单几步把人物图片转素描画
  15. html中常用判断和工具(二)
  16. 计算机考证打字训练题
  17. 这些秋季儿童养生小常识,你要知道!
  18. 计算机通过变频器模拟输入控制电机正反转,用电脑控制的工频高压系统
  19. c语言功率算电量,电功率你理解透了吗?怎么算功率因数?1度电是多少?
  20. dbeaver针对某张表写sql(复制软件sql模板)

热门文章

  1. 剑指-二维数组中的查找
  2. 牛客多校7 - A National Pandemic(树链剖分+线段树)
  3. POJ - 1847 Tram(最短路)
  4. python操作json_如何使用Python处理JSON数据
  5. HDU4611(找循环节)
  6. STL 之map,multimap
  7. ARP欺骗:先认识再防御
  8. 互斥体CMutex的使用
  9. Netty学习笔记(五)Pipeline
  10. 【主题演讲】探讨视频行业与技术的更多挑战与机会