[JAVA][JSON]初步学习JSON<一>

最近开始学习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);
}
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值