Java转json
一、json介绍
1、 作用:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,是存储和交换文本信息的语法。
2、json以key-value的格式书写,数据间以“,”分开,有两种数据结构:
对象:“{}”括起来的内容
数组:“[]”括起来的内容
如:{
"people":[ {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}, {"firstName":"Jason","lastName":"Hunter","email":"bbbb"}, {"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ] }二、org.json.simple.JSON....与net.sf.json.JSON...的区别
1、json的创建
org.json.simple.JSONObject json = new JSONObject(); json.put(key,value);
net.sf.json.JSONObject json = JSONObject.fromObject(str);
net.sf.json.jsonobject 没有 new JSONObject(String)的构造方法
2、解析基本差不多
注:在封装数据是net.sf.json.JSON...明显高效与org.json.simple.JSON....
三、json需要的包
1、org.json.simple.JSONObject和org.json.simple.JSONArray

2、net.sf.json.JSONObject和net.sf.json.JSONArray

缺commons-lang-2.4.jar包:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
缺ezmorph-1.0.6.jar包:Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
缺commons-logging-1.1.1.jar包:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
缺commons-collections-3.1.jar包:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
缺commons-beanutils-1.8.0.jar包:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
参考自: JSON_百度百科 JSON中国 | JSON中文网 JSON 教程
四、实例介绍
1、JSONtest类
public class JSONtest {
public static void main(String[] args) {
//将Java对象转换成JSONObject对象并输出
javaObjectToJSONObject();
//将javaObjectList转换为JSONArray并输出
javaObjectListToJSONArray();
//将Java对象转换成JSONObject对象并输出
javaObjectToJsonObject();
//将javaObjectList转换为JSONArray并输出
javaObjectListToJsonArray();
//stringArray转换为net.sf.json.JSONArray并输出
stringArrayToJsonArray();
//将stringArray转换为org.json.simple.JSONArray
stringArrayToJSONArray();
}
public static void stringArrayToJSONArray(){
String[] strArr = {"s1","s2","s3"};
org.json.simple.JSONArray jsonArray = new org.json.simple.JSONArray();
for(int i = 0; i < strArr.length; i++){
jsonArray.add(strArr[i]);
}
System.out.println("jsonArray = "+jsonArray);
int len = jsonArray.size();
for(int i = 0; i < len; i++){
System.out.println(jsonArray.get(i));
}
}
输出为:
jsonArray = ["s1","s2","s3"]
s1
s2
s3
public static void stringArrayToJsonArray(){
String[] strArr = {"s1","s2","s3"};
net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(strArr);
System.out.println("jsonArray = "+jsonArray);
int len = jsonArray.size();
for(int i = 0; i < len; i++){
System.out.println(jsonArray.get(i));
}
}
输出为:
jsonArray = ["s1","s2","s3"]
s1
s2
s3
public static void javaObjectListToJsonArray(){
List personList = createPersonList();
net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(personList);
System.out.println("net.sf.json.JSONArray \n jsonArray = "+jsonArray);
int len = jsonArray.size();
for(int i = 0; i < len; i++){
net.sf.json.JSONObject jsonObject = (net.sf.json.JSONObject)jsonArray.get(i);
System.out.println(jsonObject.get("id")+" | "+jsonObject.get("userName")+" | "
+jsonObject.get("age"));
}
}
输出为net.sf.json.JSONArray :
jsonArray = [{"age":0,"id":0,"userName":"shaoyesun0"},{"age":1,"id":1,"userName":"shaoyesun1"},{"age":2,"id":2,"userName":"shaoyesun2"},{"age":3,"id":3,"userName":"shaoyesun3"},{"age":4,"id":4,"userName":"shaoyesun4"},{"age":5,"id":5,"userName":"shaoyesun5"},{"age":6,"id":6,"userName":"shaoyesun6"},{"age":7,"id":7,"userName":"shaoyesun7"},{"age":8,"id":8,"userName":"shaoyesun8"},{"age":9,"id":9,"userName":"shaoyesun9"}]
0 | shaoyesun0 | 0
1 | shaoyesun1 | 1
2 | shaoyesun2 | 2
3 | shaoyesun3 | 3
4 | shaoyesun4 | 4
5 | shaoyesun5 | 5
6 | shaoyesun6 | 6
7 | shaoyesun7 | 7
8 | shaoyesun8 | 8
9 | shaoyesun9 | 9
public static void javaObjectToJsonObject(){
Person person = createPerson();
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(person);
System.out.println("net.sf.json.JSONObject \n jsonObject = "+jsonObject);
System.out.println(jsonObject.get("id")+" | "+jsonObject.get("userName")+" | "
+jsonObject.get("age"));
}
输出为net.sf.json.JSONObject:
jsonObject = {"age":1,"id":1,"userName":"shaoyesun1"}
1 | shaoyesun1 | 1
public static void javaObjectListToJSONArray(){
List personList = createPersonList();
org.json.simple.JSONArray jsonArray = new org.json.simple.JSONArray();
for(Person person : personList){
org.json.simple.JSONObject jsonObject = new org.json.simple.JSONObject();
jsonObject.put("id", person.getId());
jsonObject.put("userName", person.getUserName());
jsonObject.put("age", person.getAge());
jsonArray.add(jsonObject);
}
System.out.println("org.json.simple.JSONArray \n jsonArray = "+jsonArray);
int len = jsonArray.size();
for(int i = 0; i < len; i++){
org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject)jsonArray.get(i);
System.out.println(jsonObject.get("id")+" | "+jsonObject.get("userName")+" | "
+jsonObject.get("age"));
}
}
输出为org.json.simple.JSONArray:
jsonArray = [{"id":0,"userName":"shaoyesun0","age":0},{"id":1,"userName":"shaoyesun1","age":1},{"id":2,"userName":"shaoyesun2","age":2},{"id":3,"userName":"shaoyesun3","age":3},{"id":4,"userName":"shaoyesun4","age":4},{"id":5,"userName":"shaoyesun5","age":5},{"id":6,"userName":"shaoyesun6","age":6},{"id":7,"userName":"shaoyesun7","age":7},{"id":8,"userName":"shaoyesun8","age":8},{"id":9,"userName":"shaoyesun9","age":9}]
0 | shaoyesun0 | 0
1 | shaoyesun1 | 1
2 | shaoyesun2 | 2
3 | shaoyesun3 | 3
4 | shaoyesun4 | 4
5 | shaoyesun5 | 5
6 | shaoyesun6 | 6
7 | shaoyesun7 | 7
8 | shaoyesun8 | 8
9 | shaoyesun9 | 9
public static void javaObjectToJSONObject(){
Person p = createPerson();
org.json.simple.JSONObject jsonObject = new org.json.simple.JSONObject();
jsonObject.put("id", p.getId());
jsonObject.put("userName", p.getUserName());
jsonObject.put("age", p.getAge());
System.out.println("org.json.simple.JSONObject \n jsonObject = "+jsonObject);
System.out.println(jsonObject.get("id")+" | "+jsonObject.get("userName")+" | "
+jsonObject.get("age"));
}
输出为org.json.simple.JSONObject :
jsonObject = {"id":1,"userName":"shaoyesun1","age":1}
1 | shaoyesun1 | 1
public static Person createPerson(){
Person person = new Person();
person.setId(1);
person.setUserName("shaoyesun1");
person.setAge(1);
return person;
}
public static List createPersonList(){
List personList = new ArrayList();
for(int i = 0; i < 10; i++){
Person person = new Person();
person.setId(i);
person.setUserName("shaoyesun"+i);
person.setAge(i);
personList.add(person);
}
return personList;
}
}
2、Person类
public class Person {
private long id;
private String userName;
private int age;
}
Java转json的更多相关文章
- Java集合 Json集合之间的转换
1. Java集合转换成Json集合 关键类:JSONArray jsonArray = JSONArray.fromObject(Object obj); 使用说明:将Java集合对象直接传进JSO ...
- Java对象 json之间的转换(json-lib)
在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~ 1. Java对象转换成json(既创建json) 关键类:JSONObj ...
- Java 的 JSON 开源类库选择比较(zz)
在看了作者的介绍,然后我又到mvnrepository上去看了各个库的的使用数之后,发现只能在jackson和gson之间做选择. 以下是原文 有效选择七个关于Java的JSON开源类库 April ...
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包. 经过多方尝试得出结论入下: 首先导入基本包:json-lib-2.2.3-jdk15.jar 如果没有这个jar包,程序是 ...
- java系列--JSON数据的处理
http://blog.csdn.net/qh_java/article/details/38610599 http://www.cnblogs.com/lanxuezaipiao/archive/2 ...
- Java之JSON数据
特别注意:使用JSON前需要导包 操作步骤地址:http://blog.csdn.net/baidu_37107022/article/details/70876993 1.定义 JSON(JavaS ...
- JSON以及Java转换JSON的方法(前后端常用处理方法)
)); map.put("arr", new String[] { "a", "b" }); map.put("func" ...
- java处理json与对象的转化 递归
整个类是一个case,总结了我在使用java处理json的时候遇到的问题,还有级联关系的对象如何遍历,json和对象之间的转换! 对于对象json转换中遇到的问题我参考了一篇博客,http://blo ...
- Java JWT: JSON Web Token
Java JWT: JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand libr ...
- Java解析json字符串和json数组
Java解析json字符串和json数组 public static Map<String, String> getUploadTransactions(String json){ Map ...
随机推荐
- 【Alpha版本】冲刺-Day6
队伍:606notconnected 会议时间:11月14日 会议总结 张斯巍(433) 今天安排:学习UI设计 完成度:100% 明天计划:上传界面设计 遇到的问题:无 感想:刚开始学的时候,都是从 ...
- linux 下各文件夹的功能性介绍。(转载)
原文来自:http://www.cnblogs.com/wen858636827/archive/2012/12/26/2834373.html /opt 放置用户自己下载的软件 英文全称是op ...
- [USACO2009 NOV GOLD]奶牛的图片
校内题,不给传送门了. 以前做完NOIp2013的火柴排队那道题后,当时很担心NOIp会出那种题,因为贪心的规则能不能看出来真的要看运气.但是这类题做多了后发现其实那道题的规则其实是很多题都已经用到了 ...
- POJ1915Knight Moves(单向BFS + 双向BFS)
题目链接 单向bfs就是水题 #include <iostream> #include <cstring> #include <cstdio> #include & ...
- Python目录操作
Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...
- iterator and iterable
前者是迭代器 后者是接口,List等继承这个接口
- win7 中maven安装
1. 下载Maven 下载地址为:http://maven.apache.org/download.html,现在最高的版本为3.0.2,在win7下载文件为:apache-maven-3.0.2-b ...
- sqlserver插入时发生在“xxx”处关键发生错误
今天知道了一个小技巧,当你的数据库表名为user时会sqlserver的表发生冲突,所以因该将user这样用[user],ok 一切搞定 .
- 《深入理解bootstrap》读书笔记:第二章 整体架构
一. 整体架构 1. CSS-12栅格系统 把网页宽度均分为12等分(保留15位精度)--这是bootstrap的核心功能. 2.基础布局组件 包括排版.按钮.表格.布局.表单等等. 3.jQu ...
- yourphp 的 ThinkTemplate.class.php与ContentReplaceBehavior.class.php
ThinkTemplate.class.php :去掉版权(针对html代码) ContentReplaceBehavior.class.php:一些默认标签的路劲,如:__PUBLIC__,../P ...