`

Json 和 Gson

阅读更多

json是一种数据格式,便于数据传输、存储、交换
gson是一种组件库,可以把java对象数据转换成json数据格式 

TestJson类
package Test.action;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
//用之前先把org.json包里面的类 全部放到项目里
public class TestJson {
	public static void main(String[] args) throws JSONException {
		String str1 = "{name:'wangyafei',age:'20',sex:'man',fav:{1:'money',2:'money too'}}";
		JSONObject jsonObject = new JSONObject(str1);
		System.out.println(jsonObject.get("name"));
		System.out.println(jsonObject.get("age"));
		JSONObject fav = jsonObject.getJSONObject("fav");
		System.out.println(fav.get("1"));
		System.out.println(fav.get("2"));
		jsonObject.put("add", "mafang");
		System.out.println(jsonObject.toString());
		// -----------------------------------------------------------------------------------
		String str2 = "[{name:'wangyafei'},{age:'20',sex:'woman'},{sex:'man'},{fav:'money'}]";
		//強烈注意 放里面的是一个个的对象 这样看来下面那句原来写的话 似乎没有用了
		//每一个大括号内是一个数组的值 每一个值可以放好几个参数,比如下标1的数组和下标2的数组值就不同
		JSONArray array = new JSONArray(str2);
		System.out.println(array.length());
		System.out.println(array.getJSONObject(0).get("name"));
		System.out.println(array.getJSONObject(1).get("sex"));
		//for(int i = 0; i < array.length(); i++){
			//JSONObject object = array.getJSONObject(i);
			//只是说 它是可以遍历的
		//}
		array.put(0, "{name1:'yafei',age:'20',sex:'woman',fav:{aihao1:'money',aihao2:'money too'}}");
		//经过大量实验发现 put之后把当前下标的元素都覆盖了
		System.out.println(array.toString());
	}
}


TestGson类

package Test.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import Test.vo.User;

import com.google.gson.Gson;

public class TestGson {
	public static void main(String[] args) {
		
		List fav = new ArrayList();
		fav.add("book");
		fav.add("movie");
		fav.add("music");
		User userA = new User("A","man",fav);
		User userB = new User("B","man",fav);
		User userC = new User("C","woman",fav);
		Gson gson = new Gson();
		System.out.println(gson.toJson(userA));
		
		List arr = new ArrayList();
		arr.add(userA);
		arr.add(userB);
		arr.add(userC);
		Map<String, User> map = new HashMap<String, User>();
		map.put("AA", userA);
		map.put("BB", userB);
		map.put("CC", userC);
		System.out.println(gson.toJson(arr));
		System.out.println(gson.toJson(map));
		
		User userD = gson.fromJson("{name:\"D\",sex:\"man\",fav:[\"book\",\"game\"]}", User.class);
		System.out.println(userD.getName()+"  "+userD.getSex());
	}
}

User类
package Test.vo;

import java.util.ArrayList;
import java.util.List;

public class User {
	String name;
	String sex;
	List fav = new ArrayList();
	public User(String name, String sex, List fav) {
		super();
		this.name = name;
		this.sex = sex;
		this.fav = fav;
	}
	public User() {
		super();
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public List getFav() {
		return fav;
	}
	public void setFav(List fav) {
		this.fav = fav;
	}
	
}

0
0
分享到:
评论

相关推荐

    android之json和gson数据解析最完整的代码例子(包括各种样式的json数据)

    JSON(JavaScript Object Notation)和Gson是Android开发中常用的数据序列化和反序列化工具,用于在客户端和服务器之间交换数据。本文将详细介绍如何在Android应用中使用JSON和Gson进行数据解析,并通过实际代码示例...

    json和Gson.zip

    总结,"json和gson.zip"提供的jar包是为了在Java项目中处理JSON数据。Gson是Google推荐的JSON处理库,具有高效、灵活的特点,而jsonlib则是另一种选择。根据项目需求和个人偏好,可以选择合适的库进行JSON操作。

    json+gson用到的jar

    2. **gson.jar**:这是Google Gson库的主要文件,包含了com.google.gson.Gson和其他相关类,用于将Java对象转换为JSON字符串,反之亦然。 使用Gson进行JSON操作的基本步骤如下: 1. **序列化**:将Java对象转换为...

    JSON和GSON jar包

    在处理JSON数据时,GSON提供了强大的序列化和反序列化能力,使得开发者可以轻松地在Java对象和JSON字符串之间进行数据交换。如果在开发过程中遇到无法获取GSON库的情况,这个JAR包就能派上用场。

    浅析在Android系统中JSON和GSON的用法.pdf

    浅析在Android系统中JSON和GSON的用法.pdf

    JSON、GSON解析json

    GSON的强大之处在于它可以自动映射JSON数据到Java对象,大大简化了JSON解析和序列化的过程。 以下是关于JSON和GSON在Android开发中的具体知识点: 1. JSON基本结构:JSON包含两种主要数据结构,对象(Object)和数...

    解析json的gson

    在"解析json的gson"这一主题中,我们将深入探讨Gson库的主要特性和使用方法。首先,我们来看如何创建一个简单的JSON对象。在Java中,你可以定义一个类来表示你的数据结构,然后使用Gson库将其转换为JSON字符串: ``...

    Json解析Gson解析

    总结,Gson是Java开发中处理JSON数据的强大工具,它提供了简洁的API,使得JSON解析和反解析变得轻松高效。无论是在本地文件操作还是网络数据交互中,Gson都能发挥重要作用。理解并熟练掌握Gson的使用,对于提升Java...

    Gson解析复杂Json实例,超简单

    Gson的优点在于它的灵活性和易用性,使得处理JSON数据变得简单高效。 ### 添加Gson依赖 在Android项目中使用Gson,首先需要在`build.gradle`文件的dependencies部分添加Gson库依赖: ```groovy dependencies { ...

    Java四大json库gson+fastjson+jackson+json-lib

    为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...

    dom4j-json-Gson完整jar包

    总的来说,DOM4J、Gson和JSON在Java开发中的地位不可忽视。理解并熟练使用它们,将极大地提升你在处理数据交换和序列化问题上的效率。这个"dom4j-json-Gson完整jar包"就是一个集成了这三个关键技术的实用资源,对于...

    json解析 gson fastjson

    在Java中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括Gson和Fastjson。 **Gson** 是Google开发的一个Java库,能够将Java对象转换为JSON字符串,反之亦然。Gson的主要优点是它对Java对象的深度支持,...

    json包、gson包以及相应的源码

    JSON(JavaScript Object Notation)和Gson是两个在Java编程中广泛使用的数据序列化和反序列化库。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson则是Google提供的一个开源库,...

    JSON、GSON&FASTJOSN

    而GSON和FASTJSON则是对JSON进行操作的工具,它们之间的区别主要体现在性能、易用性和功能支持上。 GSON提供了丰富的API,可以方便地处理各种复杂的Java对象,如泛型、枚举、自定义类型转换等。同时,GSON还支持...

    java后台与前端交互List转Json(Gson)

    `Gson`类是主要的转换工具,它提供了`toJson()`和`fromJson()`两个方法,分别用于对象到JSON和JSON到对象的转换。`JsonElement`则表示JSON结构中的任意元素,包括JsonArray(对应于List)和JsonObject等。 要将一个...

    google json: gson

    谷歌的Gson库是Java开发中的一个强大工具,专门用于JSON对象和Java对象之间的相互转换。这个库使得在Java应用程序中处理JSON数据变得极其简单,无论是将Java对象序列化为JSON字符串,还是将JSON字符串反序列化为Java...

    json&gson;的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web应用程序中,因为...通过合理使用Gson,开发者可以便捷地在Java对象和JSON数据之间进行高效转换,极大地提高了开发效率和代码的可维护性。

    google-json-gson-master.zip

    Google的Gson库是Java开发中的一个强大工具,主要用于JSON对象和Java对象之间的相互转换。这个"google-json-gson-master.zip"压缩包包含了Gson项目的源码,方便开发者深入理解和定制化使用。JSON(JavaScript Object...

    Jquery-json-gson案例

    总结来说,这个案例展示了如何在MVC架构中使用jQuery进行Ajax请求,通过JSON交换数据,以及在服务器端利用Gson进行数据的序列化和反序列化。这是一个基础但实用的教学案例,对于理解Web开发中的异步通信和数据交换有...

    Gson-jsonjson

    标题中的"Gson-jsonjson"可能是指Google开发的Gson库,这是一个Java库,用于在Java对象和JSON数据之间进行映射。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的...

Global site tag (gtag.js) - Google Analytics