0
点赞
收藏
分享

微信扫一扫

json使用系列分享一

逸省 2023-05-10 阅读 99


                                                         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

举报

相关推荐

0 条评论