使用JSONlib简单的转换json操作
2024-10-01 23:35:33
在使用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] } }
最新文章
- 《Markdown 一些基本语法》
- [2016.01.22]万峰文本处理专家 v2.1
- java打包成jar,但不打包配置文件
- loading动画效果记录
- ASP.NET常用的SqlDbHelper类
- 如果正确读取SQL Server中的扩展事件?
- MyBatis传入参数与parameterType
- Android之打log
- Lua中的常用函数库汇总
- 纯CSS实现多选组件
- dd命令测试linux磁盘读写速度
- grep命令参数和使用方法
- C++ new 解析重载
- django rest framework pagination
- Java核心技术卷一基础知识-第5章-继承-读书笔记
- CSS表单3 光标样式 (每个位置鼠标放上去的样式不同)
- python列表和元组操作
- LG4781 【模板】拉格朗日插值
- vue 使用a+ router.push的形式跳转时,地址栏不显示参数
- 自定义data-*
热门文章
- 14.inline与namespace使用
- transform属性实现翻转效果
- Python产生随机数组,测试用
- js取对象的属性值循环
- Python 极简教程(十三)while 循环
- CodeVs——T 3305 水果姐逛水果街Ⅱ
- Windows 64位下 python3.4.3 安装numpy scipy
- 【AtCoder Beginner Contest 074 B】Collecting Balls (Easy Version)
- OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
- 快速理解Java中的五种单例模式(转)