首页 > 其他分享 >json使用系列分享一

json使用系列分享一

时间:2023-05-10 19:01:46浏览次数:34  
标签:java JSONArray JsonTest json 系列 net 分享 sf


                                                         Json使用介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

JSON采用完全独立于语言的文本格式,此特性使JSON成为理想的数据交换语言。

 

JSON具有以下这些形式:

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

 

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

 

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

 

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

 

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

 

今天主要分享:将java代码程序中数据转为成json格式的数据。

 

前提下载相关的jar包:

commons-lang.jar

commons-logging.jar

commons-collections-3.2.1.jar

json-lib-2.2.3-jdk13.jar

commons-httpclient-3.1.jar 【今天分享的此包为非必须jar包】

ezmorph-1.0.6.jar

commons-beanutils-1.8.0.jar

 

备注:commons-collections-3.2.1.jar

      ezmorph-1.0.6.jar

commons-beanutils-1.8.0.jar 为必须所依赖的包

 

 

 

没有引入commons-collections-3.2.1.jar

 

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
    at net.sf.json.JSONObject.<init>(JSONObject.java:1320)
    at net.sf.json.util.CycleDetectionStrategy.<clinit>(CycleDetectionStrategy.java:37)
    at net.sf.json.JsonConfig.<clinit>(JsonConfig.java:64)
    at net.sf.json.JSONArray.fromObject(JSONArray.java:124)
    at JsonTest.listChangeJson(JsonTest.java:49)
    at JsonTest.main(JsonTest.java:20)

 

 

没有引入ezmorph-1.0.6.jar

 

Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
    at net.sf.json.util.CycleDetectionStrategy.<clinit>(CycleDetectionStrategy.java:37)
    at net.sf.json.JsonConfig.<clinit>(JsonConfig.java:64)
    at net.sf.json.JSONArray.fromObject(JSONArray.java:124)
    at JsonTest.listChangeJson(JsonTest.java:49)
    at JsonTest.main(JsonTest.java:20)

 

 

 

没有引入commons-beanutils-1.8.0.jar

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
    at net.sf.json.JSONArray._processValue(JSONArray.java:2356)
    at net.sf.json.JSONArray.processValue(JSONArray.java:2417)
    at net.sf.json.JSONArray.addValue(JSONArray.java:2404)
    at net.sf.json.JSONArray._fromCollection(JSONArray.java:913)
    at net.sf.json.JSONArray.fromObject(JSONArray.java:142)
    at net.sf.json.JSONArray.fromObject(JSONArray.java:124)
    at JsonTest.listChangeJson(JsonTest.java:49)
    at JsonTest.main(JsonTest.java:20)

 

 

 

 

 

JsonBean 类:

/**
 * 测试JSON的使用bean
 * @author  zhaoguoli
 * @version V1.0 2010-06-29
 */
public class JsonBean {
    
    private String name;
    
    private int age;
    
    private int sex;
    
    public JsonBean(){
       name = "5";
       
       age = 0;
       
       sex = 1;
    }
 
    public JsonBean(String name, int age, int sex) {
       super();
       this.name = name;
       this.age = age;
       this.sex = sex;
    }
 
    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;
    }
 
    public int getSex() {
       return sex;
    }
 
    public void setSex(int sex) {
       this.sex = sex;
    }
    
    
 
}

JsonTest 类:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
/**
 * 测试JSON的使用方法
 * 
 * @author zhaoguoli
 * @version V1.0 2010-06-30
 */
public class JsonTest {
 
    public static void main(String[] args) {
 
       // List集合转换成json代码
       listChangeJson();
 
       // Map集合转换成json代码
       m

标签:java,JSONArray,JsonTest,json,系列,net,分享,sf
From: https://blog.51cto.com/u_873039/6262919

相关文章

  • 视频加字幕怎么制作?视频加字幕软件全分享!​
    视频加字幕怎么制作?视频加字幕是指在视频中添加文字说明或翻译的操作,以便于观众理解和沟通。通过视频加字幕,可以为听障人士、非母语使用者等人群提供更好的观看体验,并且方便用户在不方便听声音的场合下了解视频内容,很多小伙伴想给自己的视频加上一个字幕,却不知道该用什么软件进行,下......
  • 图片转文字识别在线,图片转文字方法分享!​
    图片转文字识别在线,图片转文字是一种将图片中的文字内容转化为可编辑文本的技术,也称为OCR技术,通过使用专业的OCR软件或在线OCR服务,可以快速、准确地将图片中的文字提取出来,并输出成可编辑的电子文本格式,那么很多小伙伴不知道该用什么软件进行图片转文字操作,下面感兴趣的小伙伴来看......
  • 有没有批量抠图软件?批量抠图软件分享!​
    有没有批量抠图软件?批量抠图是指同时对多张图片进行抠图处理的技术,可以提高抠图效率,适用于需要对大量图片进行抠图的场合,如从事广告行业的小伙伴,那么如果很多小伙伴想批量抠图,但是不知道使用什么软件,下面感兴趣的小伙伴快一起来看看吧!工具选择:一键抠图APP一键抠图APP是一款基于AI技......
  • 照片格式如何转换jpg?照片格式转换软件分享!​
    照片格式如何转换jpg?照片格式转换为JPEG格式的主要原因是JPEG格式具有较高的压缩比和广泛的应用领域,而且在日常使用中,很多设备和应用程序只支持JPEG格式的照片,那么很多小伙伴想进行一个转换,却不知道该使用什么软件进行操作,下面感兴趣的小伙伴快跟随小编一起来看看吧!选择:AI美颜证件......
  • 学.Net Core开发 ---- 系列文章
    原文:学.NetCore开发----系列文章-jack_Meng-博客园(cnblogs.com) 目录:     置顶:ASP.NETCore新书终于上市,完成今年一个目标,赠书活动ASP.NETCore2.0:一.概述ASP.NETCore2.0:二.开发环境ASP.NETCore2.0:三.项目结构ASP.NETCore2.0......
  • 微信开发之JS-SDK + php 实现分享朋友/朋友圈,QQ/QQ空间
    一、绑定域名先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。二、引入JS文件http://res2.wx.qq.com/open/js/jweixin-1.6.0.js三、通过config接口注入权限验证配置把需要用到的JS-SDK的接口都放在jsApiList里面四、示例代码前端<!DOCTYPEhtml><ht......
  • Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板
    系列文章Grafana系列文章......
  • 百人研发团队百亿销售规模的技术架构实践分享
    公司背景公司融资10亿,剥离B2B生鲜业务板块为独立公司运营。除部分核心产品经理,运营,采购角色外,诸如研发团队等重新组建,并承接部分历史系统重新打造一整套供应链平台去支撑大规模业务扩张。全国70个左右仓(包含前置仓,中转仓和实体仓),实际达到百亿业务规模(营收),预计达到千亿业务规模......
  • 微信小程序 app.json 里 "style": "v2" 的作用
    新版微信小程序的app.json文件中多了一个:style":"v2"{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBac......
  • requests标头在json序列化时报错TypeError: Object of type CaseInsensitiveDict is n
    requests的作者似乎为了解决header里大小写兼容的问题,而创建了大小写不敏感的数据结构CaseInsensitiveDict,具体分析可以参见:详解Requests中的数据结构CaseInsensitiveDict。requests返回的response_header即是一个CaseInsensitiveDict类型,而且我们知道response_header里通常并非......