在使用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] } }

  

使用JSONlib简单的转换json操作的更多相关文章

  1. JSON-lib框架,转换JSON、XML不再困难

    Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作 ...

  2. JSON-lib框架,转换JSON、XML

    json-lib工具包 下载地址: http://sourceforge.net/projects/json-lib/json-lib还需要以下依赖包: jakarta commons-lang 2. ...

  3. fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map

    作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...

  4. Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)

    首先声明一下,jsonlib转换与GSON相比太差劲了,操作不是一般的繁琐.GSON可以直接转换成各种集合与对象类型.强烈推荐使用GSON.而且GSON一个方法就可以解决,jsonlib转来转去太繁琐 ...

  5. java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...

  6. Jackson轻易转换JSON

    原文http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html Jackson可以轻松的将Java对象转换成json对象和xml文档,同样 ...

  7. Json操作(DynamicJson)

    Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...

  8. Jackson 框架,轻易转换JSON

    Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在 ...

  9. Jackson 框架,轻易转换JSON(转)

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也 ...

随机推荐

  1. CSS伪元素与伪类的区别

    伪类和伪元素介绍 伪类:伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能 ...

  2. css使文本保留多个空格

    css属性: white-space: pre-wrap

  3. Web自动化测试 Selenium+Eclipse+Junit+TestNG+Python

    Selenium+Eclipse+Junit+TestNG+Python 第三步 下载Selenium IDE.SeleniumRC.IEDriverServer.SeleniumClient Dri ...

  4. 【】minimum

    [链接]h在这里写链接 [题意] 给两个数字a,b,每次操作可以把a+1a+1,或把a∗k 问至少多少次操作可以使得a=b. 1<=a,b<=10^18,0 <= k <= 1 ...

  5. [React Intl] Render Content with Placeholders using react-intl FormattedMessage

    Learn how to use react-intl to set dynamic values into your language messages. We’ll also learn how ...

  6. WCF学习笔记——WCF基础

    一 WCF与SOA SOA是一种通过为所有软件提供服务外观,并将这些服务的WSDL集中发布到一个地方的一种组织企业软件的方法.它通过使用明确定义的接口通过跨越边界传递消息来让多个自治的服务协同工作.S ...

  7. async和await在项目中的应用

    Async基础知识: async函数是ES7标准引入的语法,基于Generator函数实现的,也就是说是Generator函数的语法糖.什么是Generator函数?(留个坑) 返回值是Promise ...

  8. 10.9 android输入系统_APP跟输入系统建立联系和Dispatcher线程_分发dispatch

    12. 输入系统_APP跟输入系统建立联系_InputChannel和Connection核心: socketpair // 第9课第3节_输入系统_必备Linux编程知识_任意进程双向通信(scok ...

  9. [array] leetCode-1-Two Sum-Easy

    leetCode-1-Two Sum-Easy descrition Given an array of integers, return indices of the two numbers suc ...

  10. 【t041】距离之和

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在一条数轴上有N头牛在不同的位置上,每头牛都计算到其它各头牛的距离.求这n*(n-1)个距离的总和. ...