最近开始学习json,下面我们先简单的了解一下json
1.JSON是什么
在网上查资料可以得之,json的全称是avaScript Object Notation,是一种轻量级数据交换格式。
2.为什么使用JSON
JSON结构简单,易于读写,方便生成和解析
3.JSON的结构
1.键值对的集合:
例1 {“key1”:”value1”,”key2”:0,”key3”:true}
例2 {“key1”:”value1”,”key2”:0,”key3”:[“key4”:{“key5”:”value5”}]}
2.有序的List:
例1 [“value1”,”value2”,”true”,”0”,{“key1”:”value1”,”key2”:0,”key3”:true}]
4.如何使用JSON
首先项目需要导入这些jar包:
commons-lang.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph.jar
json-lib-2.2.2-jdk15.jar
然后学会使用JSONObject和JSONArray
下面是随便练习的简单例子
package jsontest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Jsontest {
public static void main(String[] args) {
/*
* 解析jsonArray并输出第一个元素
*/
String [] str ={"v1","v2","true","0"};
JSONArray jsonArray=JSONArray.fromObject(str);
String a = jsonArray.getString(0);
System.err.println(jsonArray);
System.out.println(a);
/**
* 对象数组
*/
Object [] object ={"d1","d2",true,0};
JSONArray jsonArray2=JSONArray.fromObject(object);
String b=jsonArray2.getString(3);
System.err.println(jsonArray2);
System.out.println(b);
/*
* 集合类
*/
List<String> stringList= new ArrayList<String>();
stringList.add("j1");
stringList.add("j2");
stringList.add("2");
stringList.add("true");
JSONArray jsonArray3=JSONArray.fromObject(stringList);
String c =jsonArray3.getString(3);
System.err.println(jsonArray3);
System.out.println(c);
/*
* set集
*/
Set<Object> set=new HashSet<Object>();//可以看出 Hashset是无序的
set.add("s1");
set.add("s2");
set.add(false);
set.add(0);
set.add("2");
JSONArray jsonArray4=JSONArray.fromObject(set);
String d =jsonArray4.getString(1);
System.err.println(jsonArray4);
System.out.println(d);
/*
* 综上Array解析成json串,并且用jsonArray可以解析array类型的json串
*/
/*
* 将javabean、map解析成json,用jsonObject解析
*/
Map<String, Object> map=new HashMap<String, Object>();
map.put("key1", "val1");
map.put("key2", "val2");
map.put("key3", true);
map.put("key4", "val4");
JSONObject jsonObject=JSONObject.fromObject(map);
String e=jsonObject.getString("key2");
System.err.println(jsonObject);
System.out.println(e);
/*
* javabean
*/
Book book=new Book("斗破苍穹", "1", "天蚕土豆");
Book book2=new Book("星辰变", "2", "我吃西红柿");
Book book3=new Book("斗罗大陆", "3", "唐家三少");
Book book4=new Book("天传", "4", "风的笔记");
List<Book> bookList=new ArrayList<>();
bookList.add(book);
bookList.add(book2);
bookList.add(book3);
bookList.add(book4);
JSONObject jsonObject2=JSONObject.fromObject(book);
String f = jsonObject2.getString("name");
System.out.println(f);
JSONArray jsonObject3=JSONArray.fromObject(bookList);
String nameb=jsonObject3.getString(3);
System.out.println(nameb);
}
}