1. 程式人生 > >Gson與Json相互轉化

Gson與Json相互轉化

package com.gsonUtils;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;


public class ReadJson {
	public static void main(String[] args) {
		read();
		out();
	}
//讀取Json
	public static void read() {
		try {
			JsonParser parser = new JsonParser();
			JsonObject object = (JsonObject) parser.parse(new FileReader("in.json"));
			JsonArray array = object.get("employees").getAsJsonArray();
			for (int i = 0; i < array.size(); i++) {
				JsonObject unitobject = array.get(i).getAsJsonObject();
				System.out.println("-------------------");
				String firstName = unitobject.get("firstName").getAsString();
				String lastName = unitobject.get("lastName").getAsString();
				System.out.println("firstName:" + firstName + "\nlastName:" + lastName);
			}
			System.out.println("-------------------");
			System.out.println("num:" + object.get("num").getAsInt());
			System.out.println("boolean:" + object.get("boolean").getAsBoolean());
			System.out.println("string:" + object.get("string").getAsString());
		} catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) {
			e.printStackTrace();
		}
	}
//輸出Json
	public static void out() {
		JsonObject object = new JsonObject();
		List list = new ArrayList();
		
		List employees = new ArrayList();
		Map m = new HashMap();
		m.put("firstName", "Bill");
		m.put("lastName", "Gates");
		employees.add(m);
		Map m1 = new HashMap();
		m1.put("firstName", "George");
		m1.put("lastName", "Bush");
		employees.add(m1);
		Map m2 = new HashMap();
		m2.put("firstName", "Thomas");
		m2.put("lastName", "Carter");
		employees.add(m2);
		
		Map m3 = new HashMap();
		m3.put("employees",employees );
	    m3.put("num", 1);
		m3.put("string", "String");
		m3.put("boolean", true);
		list.add(m3);
		Gson gson3 = new Gson();
		String prettyJsonStr2 = gson3.toJson(list.get(0));
		System.out.println(prettyJsonStr2);
	}
	
}

相關推薦

GsonJson相互轉化

package com.gsonUtils; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.ArrayList; import java.util.Has

DataTableJson相互轉化

很久沒寫部落格了~~今天看見論壇裡面有朋友在問table動態增加行的問題,剛好之前有寫個幾個方法,其中Json這個最簡單,所以想寫出來,但DataTable跟Json轉換的這個類是個基礎類,所以我單獨拿出來,分享給大家,呵呵!有什麼不對的地方,歡迎指正!上程式碼吧: usin

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

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

jsonstring相互轉化

1. 在js和小程式中都將json格式轉化為物件: var string = '{"name":"frank", "age":29, "birthday":"1978-1-1"}';var obj=

Java中memcached 儲存 jsonmap相互轉化

1.Java通過memcache進行內容儲存public String getSysDict(String key) { String memKey = "_getSysDict_key_" + key; String dictionaryStr = (String) mem

python筆記——jsonstring相互轉化

我在從web獲取到json資料時,需要儲存在本地文字檔案中,這就需要json轉換為string,使用快取資料時,又需要string轉json。 注意,如果要存入文字文件,一定先將dict轉為string,string裡面key要使用雙引號,要不然存在文字文件裡

JAVA 實現XMLJSON 相互轉換

tst throws light getc con parent urn In 工作 原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,經常碰到XML轉為JSON或者JSON轉為XML,在這

js-字串陣列相互轉化及使用小技巧

1)陣列轉換成字串(型別的轉換,資料內容不改變) 如arr = [0x12,0x92,0x89];     str = arr.join(");          

Json使用,各物件json相互轉換

Json:一種網路通訊使用的資料格式,因為便於解析,比較流行,物件可以轉為json,同樣json也可以轉物件。 下面介紹下Json工具的簡單使用。 FastJson   阿里的開源json工具包,國內比較流行,用的較多。   物件轉json字串     JSON.toJSONString(user)

JsonUtils的實現:物件json相互轉換

pom.xml依賴 <dependency> <groupId>com.fasterxml.jackson.core</groupId> &

LeetCode(12&13)—— 整數羅馬數字相互轉化

說明 如果你在寫這個程式的時候,發現你在IDE上執行結果完全正確,而在網站上總是Wrong Answer,恭喜你,這將讓你倍漲經驗(起碼我找了很久才發現這個問題) 字典是存放順序與你輸入的順序是不一樣的!!!迭代讀取的時候一定要小心!!!!! 下面講下經過。。。 描述

Java stringint相互轉化

String 轉 int public class Main { public static void main(String []args) { //需注意的是,若是出現轉換中存在非數字字元,可能

MFC中CString char*相互轉化

CString->char* CString str = _T("1234"); USES_CONVERSION; char* p = T2A(str.GetBuffer(0)); str.ReleaseBuffer(); char*->CString ch

轉:CTimeCString相互轉化

轉自:http://blog.163.com/[email protected]/blog/static/459230342009230115919910/一.CTime轉化為CStringCTime  tmSCan = CTime::GetCurrentTime();CString s

int_64 字串相互轉化

int main() {        time_t cur_time = time(0);        cout << "cur_time is:" << cur_time << endl;        char ct[32];  

java中byteint相互轉化的原理

  int i = 0;   i += ((b[0] & 0xff) << 24);   i += ((b[1] & 0xff) << 16);   i += ((b[2] & 0xff) << 8);   i += ((b[3] & 0x

C++ 整數字串相互轉化

一. 整數轉化為字串 方法1:用itoa(實戰時常用) #include <iostream> #include <stdlib.h> using namespace st

字串數字相互轉化

一.C中的方法1.  c中字串轉換成數字:一些庫函式標頭檔案:#include<stdlib.h>atof(),atoi(),atol(),atoll(),strtod(),strtol(),strtoul(),strtof(),strtoll(),strtoul

java_時間戳Date_相互轉化

  時間戳是指檔案屬性裡的建立、修改、訪問時間。  數字時間戳技術是數字簽名技術一種變種的應用。在電子商務交易檔案中,時間是十分重要的資訊。在書面合同中,檔案簽署的日期和簽名一樣均是十分重要的防止檔案被偽造和篡改的關鍵性內容。數字時間戳服務(DTS:digital time stamp service)

char[]string相互轉化

1、char[] 轉化 string char buffer[20]="hello!"; string str(buffer); cout<<str; 2、 string 轉化char[] string str="hello!"; char buffer[20]