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