1. 程式人生 > >Json——使用Json jar包實現Json字串與Java物件或集合之間的互相轉換

Json——使用Json jar包實現Json字串與Java物件或集合之間的互相轉換

        總結一下利用Json相關jar包實現Java物件和集合與Json字串之間的互相轉換:

        1、建立的User類:

package com.ghj.packageofdomain;

public class User {
	
	private int id;
	private String name;
	private String gender;

	public User() {

	}

	public User(int id, String name, String gender) {
		this.id = id;
		this.name = name;
		this.gender = gender;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}

	@Override
	public String toString() {
		return "id=" + id + ",name=" + name + ",gender=" + gender;
	}
}
        2、Java物件和集合與Json字串之間的互相轉換:
        i、Java物件與Json字串之間的互相轉換:
package com.ghj.packageoftest;

import net.sf.json.JSONObject;

import com.ghj.packageofdomain.User;

public class Test{

	public static void main(String[] args) {
		System.out.println(objectToJsonString());
		jsonStringToObject(objectToJsonString());
	}
	
	/**
	 * 將Java物件轉換為Json字串
	 * 
	 * @author 高煥傑
	 */
	static String objectToJsonString(){
		JSONObject jsonObject = JSONObject.fromObject(new User(1, "張三", "男"));
	    return jsonObject.toString();
	}
	
	/**
	 * 將Json字串轉換為Java物件
	 * 
	 * @author 高煥傑
	 */
	static void jsonStringToObject(String jsonString){
		JSONObject jsonObject = JSONObject.fromObject(jsonString);
		User user = (User)JSONObject.toBean(jsonObject, User.class);
		System.out.println(user);
	}
}
        ii、Java集合與Json字串之間的互相轉換:
package com.ghj.packageoftest;

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

import net.sf.json.JSONArray;

import com.ghj.packageofdomain.User;

public class Test{

	public static void main(String[] args) {
		System.out.println(collectionToJsonString());
		jsonStringToCollection(collectionToJsonString());
	}
	
	/**
	 * 將Java集合轉換為Json字串
	 * 
	 * @author 高煥傑
	 */
	static String collectionToJsonString(){
		List<User> userList = new ArrayList<User>();
		userList.add(new User(1, "張三", "男"));
		userList.add(new User(2, "李四", "女"));
		userList.add(new User(3, "王五", "男"));
		JSONArray jsonArray = JSONArray.fromObject(userList);
	    return jsonArray.toString();
	}

	/**
	 * 將Json字串轉換為Java集合
	 * 
	 * @author 高煥傑
	 */
	static void jsonStringToCollection(String jsonString){
		JSONArray jsonArray = JSONArray.fromObject(jsonString);
		@SuppressWarnings("unchecked")
		List<User> userList = (List<User>)JSONArray.toCollection(jsonArray, User.class);
		for (User user : userList) {
			System.err.println(user);
		}
	}
}
        注意:

        1、上面User類不僅有有參建構函式還有無參建構函式,有人可能會問為什麼要有無參的建構函式呢?呵呵呵,為了方面構造User例項,添加了有引數的建構函式,可是正因為有了這個建構函式才必須要新增無參建構函式,否則會出現下面異常:

        如果不嫌構造User例項繁雜完全可以去掉這兩個建構函式的——其實這種情況下無參建構函式還是存在的,呵呵呵,總之一句話要實現Json字串轉化為Java例項或集合則相關類中要有無參的建構函式。

        2、 Java物件和集合與Json之間的互相轉換需要藉助相應的jar包實現,這些jar包可以在Demo中獲取到

相關推薦

Json——使用Json jar實現Json字串Java物件集合之間互相轉換

        總結一下利用Json相關jar包實現Java物件和集合與Json字串之間的互相轉換:        1、建立的User類:package com.ghj.packageofdomain; public class User { private int

Json物件Json字串的轉化、JSON字串Java物件轉換

1.jQuery外掛支援的轉換方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件 2.瀏覽器支援的轉換方式(Firefox,chrome,opera,safari

js中處理json Json物件Json字串的轉化、JSON字串Java物件轉換

轉:https://www.cnblogs.com/zq-boke/p/5833387.html Json物件與Json字串的轉化、JSON字串與Java物件的轉換   一.Json物件與Json字串的轉化 1.jQuery外掛支援的轉換方式:   $.pars

JSON 字串 java 物件轉換

//json-lib-2.2-jdk15.jar  import net.sf.json.JSONArray; import net.sf.json.JSONObject;  1. //把java 物件列表轉換為json物件陣列,並轉為字串     JSONArray array =JSONArray.fr

Json字串java物件互轉

到Json的官網上http://json-lib.sourceforge.net/,下載jar包。在官網也可以看到,使用Json還需要其他的一些jar包,官網上是這樣列的: jakarta commons-lang 2.5 jakarta commons-bea

Json字串java物件的互轉

strJson:{"address":"北京市西城區","age":"23","name":"JSON"} strArray:[{"address":"北京市西城區","age":"23","name":"JSON"}] JSON字串--》》java物件上面說明了如何把java物件轉化為JSON字串,下面看如

JSON解析類庫之Fastjson(1) --- Fastjson類庫學習, 生成解析json資料,json字串Java物件互轉

JSON解析類庫之Fastjson(1) --- Fastjson基礎知識、簡單JavaBean與複雜Bean物件與JSON互轉 -- Fastjson類庫學習, 生成與解析json資料,json

VC++中字串十六進位制互相轉換

//字串CString 轉換成CString型別的十六進位制串********************************************************************************** CString ConvertCStringoH

使用Gson實現物件集合json字串互相轉化

public class JsonTest { private static Gson gson = new Gson(); public static Student jsonToObject(String jsonStr) {

Golang 奇葩的時間Jsonstruct物件之間互相轉換,JsonDate和JsonTime自定義型別如何實現json編碼和解碼(二)

本篇在專案中實用性極強,推薦珍藏 package main import (     "encoding/json"     "fmt"     "time" ) type JsonDate time.Time type JsonTime time.Time func (

jackson實現json資料物件, 集合之間轉換

     前面列舉了Gson和fastjson處理json格式資料的具體用法,以下介紹jackson如何簡單處理json格式資料,還是延用前面文章中的實體類Product.          使用jackso

fastjson實現json資料物件, 集合之間轉換

fastjson是阿里巴巴開源的用於處理json格式資料的工具.   使用fastjson需要引入第三方jar包: 實體類Product類和前面Gson解析資料時一致,此處不再上程式碼. package Exercise1_fastjson; import java

Gson實現json資料物件, 集合之間轉換

Gson是谷歌開源的用於處理json格式資料的工具. 使用Gson需要引入第三方jar包: package Exercise1_gson; import java.io.Serializable; /** * @author huangxinyi * 實體類product *

Json字串Object物件相互轉換的幾種方式

Json-Lib、Org.Json、Jackson、Gson、FastJson五種方式轉換json型別 只列舉了最省事的方式。不涉及複製情況和速度。 測試用例,一個User類,屬性name,age,location。重寫toString()。 public class User {

java json解析jar基本使用記錄

一、使用json-lib.jar包處理 /*--------------------------------------------json字串--->json物件----------------------------------------------------*/ /*

JSONJava物件互相轉換

JSON與Java物件的互相轉換 例一(單個物件進行賦值): @RequestMapping("test1.do") @ResponseBody public JSONObject test1(HttpServletRequest request, HttpServletResponse

FastJson 字串JAVA物件 (父物件包含子物件json 串)

package A; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import pojo.Child; import pojo.Preant; public class A {

fastJson中常用JSON字串Java物件互轉

1.使用fastJson,首先引入fastJson依賴 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba<

JSON資料Java物件相互轉換

整理下json資料與Java物件轉換。 使用的jar包: ClassGrade類: import java.util.ArrayList; import java.util.List; public class ClassGrade { private String

jsonjava物件互轉

1、json字串轉JSON物件 //JSON的物件格式的字串 stu = {"name":"JSON","address":"北京市西城區","age":25} //使用net.sf.json包下面的JSONObject JSONObject json = JSONObject.fr