文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

精通Spring Boot——第十二篇:分页查询功能的实现

本文将介绍如何实现分页查询功能,推荐使用github的pagehelper插件实现(事实上大家基本都是这么干的),但本文的实现方式和大多数不同,废话少说,现在就带着大家看看区别在哪里。 先看pom...

developlee的潇洒人生
30分钟前
3
0
平淡的秋招之路

1. 概述 在八月中旬之前,我还没有秋招这个概念,认为找工作就是通过学校举办的招聘会。后来慢慢的了解到,由于学校实力的问题,许多好的公司只会去门当户对的学校进行招聘。我们学校只是一个...

firepation
33分钟前
1
0
设置布局中的子控件不可用

RelativeLayout R2 = findViewById(R.id.act_menu_level2_rl); //设置当前R2中的子控件不可用 int childCount = R2.getChildCount(); ......

lanyu96
44分钟前
2
0
分布式系统中处理参数配置的 4 种方案

一个系统中包含有各种各样的配置信息,如一个日志文件需要配置以下几个信息。 日志文件生成主目录 日志文件名称,不同的日志级别对应不同的文件 当前日志级别 还有其他各种业务参数、系统参数...

Java技术栈
45分钟前
3
0
MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码

MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码 先来张在路上…… 铛铛铛……项目源码下载地址:http://files.cnblogs.com/ontheroad_lee/MongoDBDemo.rar 此项目是用M...

Airship
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部