文档章节

java中的json

memristor
 memristor
发布于 2015/04/29 16:31
字数 473
阅读 32
收藏 1

定义:

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

基础结构:

  • 名称/值”对的集合(A collection of name/value pairs):

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

  • 值的有序列表(An ordered list of values,array):

{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

]}

json工具

http://www.bejson.com/

json相关的jar包

commons-lang.jar

commons-beanutils.jar

commons-collections.jar

commons-logging.jar 

ezmorph.jar

json-lib-2.4-jdk15.jar

核心是json-lib包,json-lib

是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,使用JSONObject类创建JSONObject对象

package com.test.wangweiwei;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonObjectSample {

	private static JSONObject createJsonObject() {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("username", "wangweiwei");
		jsonObject.put("sex", "男");
		jsonObject.put("QQ", "413425430");
		jsonObject.put("Min.score", new Integer(99));
		jsonObject.put("nickname", "梦中心境");
		return jsonObject;
	}
	
	private static JSONArray createJsonArray(){
		JSONArray jsonArray = new JSONArray();
		jsonArray.add(0, "jsonarray index 0");
		jsonArray.add(1, "jsonarray index 1");
		return jsonArray;
	}
	
	
	public static void main(String[]args){
		JSONObject jsonObject = JsonObjectSample.createJsonObject();
		// 输出jsonobject对象
		System.out.println("jsonObject:" +jsonObject);
		// 判读输出对象的类型
        boolean isArray = jsonObject.isArray();
        boolean isEmpty = jsonObject.isEmpty();
        boolean isNullObject = jsonObject.isNullObject();
        System.out.println("是否为数组:" + isArray + ", 是否为空:" + isEmpty
                + ", isNullObject:" + isNullObject);
        
        //add element
        jsonObject.element("mygf", "yy");
        System.out.println("添加属性后的对象:" + jsonObject);
        
        JSONArray jsonArray = JsonObjectSample.createJsonArray();
     // 输出JSONArray对象
        System.out.println("jsonarray: "+jsonArray);
     // 判读输出对象的类型
        boolean isArray1 = jsonArray.isArray();
        boolean isEmpty1 = jsonArray.isEmpty();

        System.out.println("是否为数组:" + isArray1 + ", 是否为空:" + isEmpty1);
        
        //在jsonObject中添加一个jsonarray
        jsonObject.element("jsonarray", jsonArray);
        System.out.println("jsonObject:" +jsonObject);
        
        //获取jsonObject中的jsonarray
        System.out.println(jsonObject.getJSONArray("jsonarray"));
        
        //根据key获取value
        System.out.println(jsonObject.getString("mygf"));
        System.out.println(jsonObject.get("username"));
        
        String tempString=jsonObject.toString();
        System.out.println(tempString);
        
        //将json对象转化为java对象
/*        JSONObject jsonObject = JSONObject.fromObject("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"\"}");
        Address Address  = (Address) JSONObject.toBean(jsonObject,Address.class);
        log.info(Address.getNo());
        log.info(Address.getStreate());
        log.info(Address.getProvience());
        log.info(Address.getRoad());*/
        
/*        将java对象转化为json对象:
        Address address = new Address();
        address.setNo("104");
        address.setProvience("陕西");
        address.setRoad("高新路");
        address.setStreate("");
        JSONArray json = JSONArray.fromObject(address);*/
        
//        将java对象list转化为json对象:
//        JSONArray json = JSONArray.fromObject(list);
        
        
        
	}

}



© 著作权归作者所有

共有 人打赏支持
memristor
粉丝 44
博文 203
码字总数 176319
作品 0
长沙
程序员
JSON-lib框架,转换JSON、XML不再困难

JSON-lib框架,转换JSON、XML不再困难 Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对...

DavidBao
2015/05/01
0
0
Java序列化与JSON序列化大比拼

一、背景 有项目需要传输Map结构的数据,有人倾向用Java序列化来做,有人倾向用JSON的序列化来做。所以我们还是比比吧。 Java观点:Object2Object,使用时简单快速。 JSON观点:JSON格式与语...

NoahX
2013/03/10
0
20
JSON-lib框架,转换JSON、XML

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

五大三粗
2015/11/03
0
0
有效选择七个关于Java的JSON开源类库

April 4, 2014 By Constantin Marian Alin 翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-available-today.html) 简介 JSON是J......

无若
2014/04/19
0
1
Flex 处理 Json 格式的返回数据

前序 : 首先,知道什么是json,知道json 的格式是什么样子的,其次,理解json 处理的需求是来自于Flex和Java 的Servlet通信不能通过对象的方式传递,因此需要json。最后,注意flex json 和J...

soul_mate
2014/07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
0
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
0
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1
shell-日志脚本小实验

1.查找日志2018-8-15,求得那一分钟访问量最大。 #/bin/bash#from cc#2018-8-15#2018-08-15.log 哪一分钟 访问量 最大for d in `ls /data/nginx/logs/`doif [ -a 2018-08-15...

chencheng-linux
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部