在使用jsonlib操作之前 需要引入json及5个依赖包,依赖包版本不能最新,lang与collections有不兼容现象。

官方地址:http://json-lib.sourceforge.net/

以下是简单的实例代码,展现了几个转换的基本操作

json --> javabean

javabean --> json

array -->json

map -->json

......

package com.xx.test;

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; public class TestJsonLib {
@Override
public String toString() {
return "TestJsonLib [name=" + name + ", age=" + age + ", gender=" + gender + "]";
}
public TestJsonLib() {
super();
// TODO Auto-generated constructor stub
}
public TestJsonLib(String name, int age, String gender) {
super();
this.name = name;
this.age = age;
this.gender = gender;
}
private String name = null;
private int age = 1;
private String gender = "female";
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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public static void main(String[] args){ //JSONObject.fromObject() 转换为json对象
//JSONObject.toBean() 转换为javabean对象 //json对象 --> String
JSONObject jsonObj = new JSONObject();
jsonObj.put("b1", "String01");
jsonObj.put("b2", "String02");
jsonObj.put("b3", "String03");
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObj);
System.out.println(jsonArray);//[{"b1":"String01","b2":"String02","b3":"String03"}] //数组转化为json格式,list也是一种数组格式
List<String> list = new ArrayList<>();
list.add("book1");
list.add("book2");
list.add("book3");
JSONArray arr = JSONArray.fromObject(list);
System.out.println(arr);//["book1","book2","book3"] //Map键值对转换为json格式
Map<String,String> myMap = new HashMap<>();
myMap.put("book1","javacore");
myMap.put("book2","thinking in java");
myMap.put("book3","test java");
JSONObject obj = JSONObject.fromObject(myMap);
System.out.println(obj); //{"book3":"test java","book1":"javacore","book2":"thinking in java"} //javabean --> json格式
JSONObject personInfo = JSONObject.fromObject(new TestJsonLib("Eric",23,"female"));
System.out.println(personInfo);//{"age":23,"gender":"female","name":"Eric"} //json --> javabean
String content = "{\"age\":25,\"gender\":\"male\",\"name\":\"Jack\"}";
JSONObject jsonString = JSONObject.fromObject(content);
//转换为javabean
TestJsonLib jsonInfo = (TestJsonLib)JSONObject.toBean(jsonString, TestJsonLib.class);
System.out.println(jsonInfo);//TestJsonLib [name=Jack, age=25, gender=male] } }

  

最新文章

  1. 《Markdown 一些基本语法》
  2. [2016.01.22]万峰文本处理专家 v2.1
  3. java打包成jar,但不打包配置文件
  4. loading动画效果记录
  5. ASP.NET常用的SqlDbHelper类
  6. 如果正确读取SQL Server中的扩展事件?
  7. MyBatis传入参数与parameterType
  8. Android之打log
  9. Lua中的常用函数库汇总
  10. 纯CSS实现多选组件
  11. dd命令测试linux磁盘读写速度
  12. grep命令参数和使用方法
  13. C++ new 解析重载
  14. django rest framework pagination
  15. Java核心技术卷一基础知识-第5章-继承-读书笔记
  16. CSS表单3 光标样式 (每个位置鼠标放上去的样式不同)
  17. python列表和元组操作
  18. LG4781 【模板】拉格朗日插值
  19. vue 使用a+ router.push的形式跳转时,地址栏不显示参数
  20. 自定义data-*

热门文章

  1. 14.inline与namespace使用
  2. transform属性实现翻转效果
  3. Python产生随机数组,测试用
  4. js取对象的属性值循环
  5. Python 极简教程(十三)while 循环
  6. CodeVs——T 3305 水果姐逛水果街Ⅱ
  7. Windows 64位下 python3.4.3 安装numpy scipy
  8. 【AtCoder Beginner Contest 074 B】Collecting Balls (Easy Version)
  9. OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
  10. 快速理解Java中的五种单例模式(转)