fastjson与net.sf.json区别

article/2025/9/1 13:48:53

 

   在现在的开发当中,

                   绝大多数引用阿里巴巴的fastjson。

                                              当然net.sf.json同样可以使用。

一、引入com.alibaba.fastjson包

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.66</version>
</dependency>

常用的格式转化:

Student stu = new Student("公众号编程大道", "m", 2);//Java对象转化为JSON对象JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);System.out.println("Java对象转化为JSON对象\n" + jsonObject);
//{"name":"公众号编程大道","age":2,"sex":"m"}

Student stu = new Student("公众号编程大道", "m", 2);//Java对象转换成JSON字符串String stuString = JSONObject.toJSONString(stu);System.out.println("Java对象转换成JSON字符串\n" + stuString);
//{"age":2,"name":"公众号编程大道","sex":"m"}

Student stu = new Student("公众号编程大道", "m", 2);//先转成JSON对象JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);//JSON对象转换为JSON字符串String jsonString = jsonObject.toJSONString();
System.out.println("JSON对象转换为JSON字符串\n" + jsonString);//{"name":"公众号编程大道","age":2,"sex":"m"}

Student stu = new Student("公众号编程大道", "m", 2);//先转成JSON对象JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);//JSON对象转换成Java对象Student student = JSONObject.toJavaObject(jsonObject, Student.class);System.out.println("JSON对象转换成Java对象\n" + student);
//Student{name='公众号编程大道', sex='m', age=2}

String stuString = "{\"age\":2,\"name\":\"公众号编程大道\",\"sex\":\"m\"}";//JSON字符串转换成JSON对象JSONObject jsonObject1 = JSONObject.parseObject(stuString);System.out.println("JSON字符串转换成JSON对象\n" + jsonObject1);
//{"sex":"m","name":"公众号编程大道","age":2}

String stuString = "{\"age\":2,\"name\":\"公众号编程大道\",\"sex\":\"m\"}";//JSON字符串转换成Java对象Student student1 = JSONObject.parseObject(stuString, Student.class);System.out.println("JSON字符串转换成Java对象\n" + student1);
//Student{name='公众号编程大道', sex='m', age=2}

更全面

//Object转jsonJSONObject j1 = (JSONObject)JSONObject.toJSON(man1);//json转ObjectMan man3 = JSONObject.parseObject(j2.toJSONString(), Man.class);String aaa = "{\"name\":\"张三\",\"id\":\"1\"}";//String转JSONObjectJSONObject j1 = JSONObject.parseObject(aaa);//JSONObject转StringString bbb = j1.toJSONString(); String aaa = "[{\"name\":\"张三\",\"id\":\"1\"},{\"name\":\"李四\",\"id\":\"2\"}]";//String转jsonArrayJSONArray jsArr = JSONObject.parseArray(aaa);// jsonArray转StringString bbb = jsArr.toJSONString();// list转jsonArrayJSONArray array = JSONArray.parseArray(JSONObject.toJSONString(mans));// jsonArray转listList<Man> list = JSONObject.parseArray(js2.toJSONString(), Man.class);

 

 

 

二、引入net.sf.json包(解析json精度丢失

<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier>
</dependency>

常用的格式转化:

 

string字符串-------》json数组String json = “[{‘day1’:’work’,’day2’:26},{‘day1’:123,’day2’:26}]”;
JSONArray jsonArray = JSONArray.fromObject(json);
单个json对象转换String aa = "{user:{name:\"张三\",age:\"20\"}}";JSONObject obj = JSONObject.fromObject(aa);
List 转换成json(Map也可以)List list = new ArrayList(); 
jb1.setCol(1); 
jb1.setRow(1); 
jb1.setValue("xx");JSONArray ja = JSONArray.fromObject(list); 
遍历Json数组输出每个成员for(int i=0; i<jsonArray.size(); i++){ System.out.println(jsonArray.get(i)); 
}
获取每个成员的key及valueJSONObject obj = (JSONObject) jsonArray.get(i); 
Iterator it = obj.keys(); 
while (it.hasNext()) { String key = it.next().toString(); System.out.println("key ----- "+key); System.out.println("value ----- "+obj.get(key)); 
} 
增加JSONObject obj2 = new JSONObject(); 
obj2.put("day1", "study"); 
obj2.put("day2", "2"); 
jsonArray.add(obj2);
删除jsonArray.remove(index); 
jsonArray.subList(fromIndex, toIndex)

 


http://chatgpt.dhexx.cn/article/giVYudkJ.shtml

相关文章

SftpGo:一款高性能的sftp server服务

SftpGo是一款高性能、功能齐全、易用可配置的一款sftp server 服务&#xff0c;基于go开发。目前在linux、macos下均可以稳定运行(windows个人未测试)。数据可以持久化到主流的数据库&#xff0c;诸如Mysql、PostgreSQL、Sqlilte. sftpgo主要组成 服务端主程序: sftpgosever…

SF简易IDC系统V1.0免授权

介绍&#xff1a; 提供官方EP接口&#xff08;可免费无限开通主机和CDN&#xff09; 2.站长可自己上架主机定义金额&#xff0c;更有自定义模式&#xff08;客户自己选择配置&#xff0c;根据配置进行付钱&#xff09; 3.独立支付接口 —————— 源码无后门&#xff0c;免授…

CentOS7.6-搭建SFTP服务

1.需求 搭建多账号SFTP&#xff0c;不同的用户只能够查看自己所属的目录禁止SFTP账号通过SSH连接SFTP 用户demo1、demo2&#xff0c;所属目录&#xff1a;/data/sftp/demo1、/data/sftp/demo2 2.操作步骤 创建目录 mkdir /data/sftp/{demo1,demo2} -p创建用户组sftp groupad…

Fastdfs安装(超级无敌详细版)

注&#xff1a;如果还没开始安装&#xff0c;请根据本教程完整走完&#xff0c;每个教程都有差异&#xff0c;拼拼凑凑更容易出问题。本教程各个包的版本都是亲自试过没问题的&#xff0c;熟练的半小时内即可安装好。 由于在学习阶段&#xff0c;看了许多别人的教程和视频&…

MBR引导程序源码理解

目录 MBR引导程序源码理解序参考链接 开机流程简述与MBR引导程序的关系进入 BIOS 确认开机启动磁盘获取引导磁盘第一扇区MBR数据反汇编MBR.bin源码解读00000000 EB63 jmp short 0x6500000065 FA cli00000066 90 nop00000067 90 nop00000068 F6C280 test dl,0x800000006B 7405 j…

IDEA 创建Maven Web项目

背景 公司有一个非常老的项目&#xff0c;决定进行简单重构&#xff0c;纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式&#xff0c;也就是直接将jar包放在项目中。同时&#xff0c;项目结构也非常奇特&#xff0c;不是标准的Web项目目录结果。 于是&#xff…

确保web地址正确解决方案

确保web地址正确 重置ie解决 1.首先&#xff0c;进行打开一个为电脑中一个ie的浏览器&#xff0c;进行双击打开即可。 2.打开了一个浏览器之后&#xff0c;进行点击右上角中的 设置 图标。 3.进行点击了设置之后&#xff0c;弹出了下拉菜单选中为 internet 选项。 4.这样就…

WebAPI简介

1、WebAPI概述 为什么要使用WebAPI&#xff1a; Web API最重要的是可以构建面向各种客户端的服务。 ASP.NET WebAPI是什么: 官方定义如下&#xff0c;强调两个关键点&#xff0c;即可以对接各种客户端&#xff08;浏览器&#xff0c;移动设备&#xff09;&#xff0c;构建ht…

深度解读互联网新时代:Web3.0

文章目录 深度解读互联网新时代——Web3.0一、Web3 —— 中心化网络的新兴名词二、Web3 “全家福”三、Web3 是互联网的货币层四、Web3 是互联网的身份层五、Web3 通过售卖数据来牟利的反击六、Web3 还拥有平台本身的一种方式七、Web3 是一种新的互联网赞助模式八、Web3 让建立…

使用Docker部署web项目

1、简介 本片文章主要介绍如何使用docker部署web项目。关于docker的安装及基本使用在笔者的另一篇文章中有相关的介绍。 链接 https://blog.csdn.net/H_porridge/article/details/123609120 2.准备一个web项目 自己有项目的可以用自己项目来部署&#xff0c;笔者此处也有一个…

CTFshow web17

萌新计划 进入题目&#xff0c;是一行php代码&#xff0c;发现c传参过滤掉了php&#xff0c;尝试一下日志文件包含漏洞 nginx的日志文件位置是/var/log/nginx/access.log 发现日志文件记录了User-Agent 那么我们就在User-Agent中写入一句话木马 上传成功&#xff0c;接下来我…

【计算机网络】Web服务器的配置

目录 课题描述 需求分析 2.1 WEB服务器基本构架 2.1.1 WEB服务器和浏览器 2.2 HTTP协议 2.2.1 HTTP简介 2.2.2 HTTP工作原理 2.3 FTP协议 2.3.1 FTP简介 2.3.2 FTP工作原理 2.4 ISS服务作用 概要设计 3.1 ISS服务器的安装与配置 3.2 详细设计 结果分析 4.1 We…

Zabbix web 监控

Zabbix web 监控 1、介绍 1、 Web 监控 监控指定的站点的资源下载速度&#xff0c;及页面响应时间&#xff0c;还有响应代码&#xff1b; 1、术语 web Scenario&#xff1a; web场景&#xff08;站点&#xff09; web page &#xff1a;web页面&#xff0c;一个场景有多个…

eclipse创建web项目

web创建 创建web项目错误解决方法如何设置Apache服务器 创建web项目 步骤1&#xff1a;创建Dynamic Web Project–动态web项目。 打开eclipse&#xff0c;在工具栏选在New–>Dynamic Web Project 在打开的Dynamic Web Project窗口&#xff0c;输入项目名。选择tomcat&…

idea部署web项目

资料来源 1.Idea 2020.2 创建web、Spring项目 2.idea部署web项目 3.IDEA 配置并运行tomcat 4.[IDEA:“Web”Facet resources are not included in an artifact] 5.【错误解决】Intellj&#xff08;IDEA&#xff09; warning no artifacts configured 1.idea中如何创建项目…

ctfshow-WEB-web7

ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格 页面中有一个文章列表,随便点一个 从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞 首先判断注入点,输入以下payloa…

Web是什么意思

Web是什么意思&#xff1f;可能大家经常听说Web这个词&#xff0c;却不知道它的真正含义&#xff0c;更不了解Web能用来干什么。那么今天我将为大家讲解一下Web的意思&#xff0c;以及学习Web到底有没有前景。 1、Web是什么意思 Web是什么意思&#xff1f;其实这是World Wide …

flutter开发web项目

Flutter Web在美团外卖的实践 - 掘金 让项目支持web &#xff1a;flutter create . 运行&#xff1a;flutter run -d chrome 运行指定渲染方式&#xff1a;flutter run --web-renderer html -d chrome 打包&#xff1a;flutter build web --release --web-renderer html 官…

1 使用Web2Py框架搭建网站

更多文章请关注&#xff1a; https://eightplus.github.io/ IDE&#xff1a;PyCharm 1、创建web2py项目 在下图左侧选中Web2Py&#xff0c;在右侧填写项目路径和应用名称&#xff0c;我这里是第一次创建&#xff0c;所以直接点击"Create"创建项目&#xff0c;此时…

通俗易懂web3.0

目录 前言一、WEB1.0二、WEB2.0三、WEB3.0区别最后 前言 大家好&#xff0c;我是清风。互联网连接了人与人&#xff0c;在过去的30年中&#xff0c;互联网技术不断进化、演化&#xff0c;向纵深发展&#xff0c;政治、经济、社交、生活、工作已经几乎离不开互联网。我们经历了…