1. 程式人生 > >java bean、List、陣列、map和Json的相互轉化

java bean、List、陣列、map和Json的相互轉化

package com.my.json;

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

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

public class JsonUtil {

    /**
     * 簡單型別:Json轉化為bean
     * 
     * 
@param jsonString * @param pojoCalss * @return */ public static Object jsonString2Object(String jsonString, Class pojoCalss) { JSONObject jsonObject = JSONObject.fromObject(jsonString); Object pojo = JSONObject.toBean(jsonObject, pojoCalss); return
pojo; } /** * 複雜型別:Json轉化為bean<br> * 用法示例:<br> * Map<String, Class> classMap = new HashMap<String, Class>(); * classMap.put("list", ChildBean.class); //指定複雜型別屬性的對映關係,可以使多個放到map中<br> * Person person=(Person)JsonUtil.jsonString2Object(str2, Person.class, * classMap);<br> * *
@param jsonString * @param pojoCalss * @return */ public static Object jsonString2Object(String jsonString, Class pojoCalss, Map<String, Class> classMap) { JSONObject jobj = JSONObject.fromObject(jsonString); return JSONObject.toBean(jobj, pojoCalss, classMap); } /** * 簡單|複雜型別:將java物件轉換成json字串<br> * 支援複雜型別:Java bean 中既有屬性又有list * * @param javaObj * @return */ public static String object2JsonString(Object javaObj) { JSONObject json = JSONObject.fromObject(javaObj); return json.toString(); } /** * 從json物件集合表示式中得到一個java物件列表 * * @param jsonString * @param pojoClass * @return */ public static List jsonList2JavaList(String jsonString, Class pojoClass) { JSONArray jsonArray = JSONArray.fromObject(jsonString); JSONObject jsonObject; Object pojoValue; List list = new ArrayList(); for (int i = 0; i < jsonArray.size(); i++) { jsonObject = jsonArray.getJSONObject(i); pojoValue = JSONObject.toBean(jsonObject, pojoClass); list.add(pojoValue); } return list; } /** * 從java物件集合表示式中得到一個json列表 * * @param list * @return */ public static String javaList2JsonList(List list) { JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray.toString(); } /** * 陣列轉換為JSON * * @param array * @return */ public static String javaArray2Json(Object[] array) { JSONArray jsonarray = JSONArray.fromObject(array); return jsonarray.toString(); } /** * Json陣列轉化為Java陣列 * * @param jsonArray * @param clas * @return */ public static Object jsonArray2JavaArrray(String jsonArray, Class clas) { JsonConfig jconfig = new JsonConfig(); jconfig.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY); jconfig.setRootClass(clas); JSONArray jarr = JSONArray.fromObject(jsonArray); return JSONSerializer.toJava(jarr, jconfig); } /** * Map轉換成json * @param map * @return */ public static String javaMap2Json(Map<String, Object> map) { return JSONObject.fromObject(map).toString(); } /** * json轉化為map * @param jsonString * @param pojoCalss * @return */ public static Object javaMap2Json(String jsonString, Class pojoCalss) { return jsonString2Object(jsonString, pojoCalss);//呼叫方法jsonString2Object } }

相關推薦

java beanList陣列mapJson相互轉化

package com.my.json; import java.util.ArrayList; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.J

java 常用集合list與SetMap區別及適用場景總結

 轉載請備註出自於:http://blog.csdn.net/qq_22118507/article/details/51576319                list與Set、Map區別及適用場景 1、List,Set都是繼承自Collection介面,Map則不是 2

字串陣列map集合集合陣列Java物件與JSON相互轉化

一、需要匯入的jar包 二、相互轉化1.字串與JSON相互轉化        //字串轉化為JSON,取JSON內元素        String jsonStr="{'name':'Jeffrey'}";        JSONObject jo=JSONObject.fr

js遍歷物件遍歷陣列js陣列方法大全區分map()forEach()以及filter()區分for...in...for...of...

1、給物件新增屬性:使用 object.prop 或object['prop']  給物件新增屬性 let obj={}; obj.name="zhangsan"; obj["age"]=23; obj["class"]="語文"; console.log(obj

set(集)list(列表)map(對映)Queue(佇列)

(1) Set 集(set)是最簡單的一種集合,它的物件不按特定方式排序,只是簡單的把物件加入集合中,就像往口袋裡放東西。對集中成員的訪問和操作是通過集中物件的引用進行的,所以集中不能有重複物件。我們知道數學上的集合也是Set這個,集合裡面一定是沒有重複的元素的。 (2)List 列表(List)的主要

JAVA】基礎:陣列二維陣列排序

陣列: 用於儲存大量同一型別的資料。 陣列的定義格式: 資料型別 陣列名[ ]=new 資料型別[陣列長度 ]; 給值: 1.陣列名 [下標 ]=值; 如:陣列名[ 0]=10; 陣列名[ 1]=20; 2.資料型別 陣列名[ ]={值,值,值…}; 陣列預設值是0 注意: 陣列下標是從

list迴圈多維陣列切片字典基本操作

1、list迴圈 1)for迴圈 stus = ['域內','ysng','xln','yg','gx','jy'] for i in range(len(stus)):    print(i) 2)while迴圈   stus = ['域內','

Java泛型--泛型應用--泛型介面泛型方法泛型陣列泛型巢狀

1、泛型介面 1.1泛型介面的基本概念 1.2泛型介面實現的兩種方式 定義子類:在子類的定義上也宣告泛型型別 interface Info<T>{ // 在介面上定義泛型 pub

laravel-- 在laravel操作redis數據庫的數據類型(string哈希無序集合list鏈表有序集合)

sadd cti string類型 數據 http hal 基本 nice 隊列 安裝redis和連接redis數據庫 在controller頭部引入 一.基本使用 1 public function RedisdDbOne() { 2

JavaScript的函式(定義與解析匿名函式函式傳參return關鍵字)陣列(操作資料的方法多維陣列陣列去重)

函式 函式就是重複執行的程式碼片。 1、函式定義與執行 <script type="text/javascript"> // 函式定義 function aa(){ alert('hello!'); } // 函式執行

用函式實現初始化陣列 清空陣列陣列元素的逆置

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> void Empty(int arr[],int sz) { int i = 0; for (i = 0; i < sz

陣列轉集合集合轉陣列字串陣列與int型long型陣列等的轉換

  在專案中經常會遇到陣列轉集合、集合轉陣列、陣列之間型別轉換等操作   1.陣列轉集合 為了實現把一個數組轉換成一個ArrayList,很多Java程式設計師會使用如下的程式碼: String str[] = {"1","2","3"}; List&

Go語言基礎(八)—— Go語言變數作用域Go語言陣列Go語言指標

Go語言變數作用域 作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在原始碼中的作用範圍。  Go 語言中變數可以在三個地方宣告: • 函式內定義的變數稱為區域性變數  • 函式外定義的變數稱為全域性變數  • 函式定義中的變數稱為形式引數&nb

new建立 一維陣列二維陣列三維陣列四維陣列...

用new建立多維陣列時,最後需要用delete,但是我在delete時遇到了麻煩,實在不能再浪費時間了,先mark一下,至少建立多維陣列這段是對的 以int型陣列為例,我們知道 一維陣列  int a[4] ={1,2,3,4}; 二維陣列  int b[3][4] = {

C#陣列 一維陣列二維陣列三維陣列

一位陣列: 初始化:int[] arr = new int[5] = {1,2,3,4,5}; using System; using System.Collections.Generic; using System.Linq; using System.Text; n

C++ 靜態成員函式 訪問 類成員變數 & 函式指標函式指標陣列函式指標陣列指標的使用 & 回撥函式的使用

靜態成員函式可以通過引用類物件訪問類成員變數;test.h#ifndef TEST_H #define TEST_H class Test { public: Test(); Tes

使用new分配記憶體建立動態陣列

1、使用new來分配記憶體 程式設計師需要告訴new,需要為哪種資料型別分配記憶體;new將找到一個長度正確的記憶體塊,並返回該記憶體塊的地址, 程式設計師的責任是將改地址賦給一個指標。 int *pn = new int; new int告訴程式,需要儲存i

Luogu3527 POI2011 Meteors 整體二分樹狀陣列差分

傳送門 比較板子的整體二分題目,時限有點緊注意常數 整體二分的過程中將時間在\([l,mid]\)之間的流星使用樹狀陣列+差分進行維護,然後對所有國家檢視一遍並分好類,遞迴下去,記得消除答案在\([mid+1,r]\)的詢問中時間在\([l,mid]\)的流星操作的貢獻 注意:可能存在某一段時間某一

函式指標函式指標陣列函式指標的陣列的指標的概念

·函式指標 首先讓我們看一段程式碼: int Add(int x,int y) { return x+y; } int main() { printf("%p\n",Add); printf("%p\n",&Add); return 0; } ·這是結

C語言:函式指標函式指標陣列函式指標陣列的指標

一.函式指標 1.定義理解 函式指標:是一個指標,存放函式地址的指標。 函式的地址可以通過取地址函式名拿到,也可以通過函式名直接拿到。 2.函式指標 (1)定義一個函式test void test(char *str) { printf("