java轉json串的幾種方式,java json字符串轉對象的方法

本文目錄一覽:

java中字符串怎麼轉json?

string類型如果要轉換成json的話,就需要寫成這樣的形式,如下:\x0d\x0aString jsonStr =”{‘id’:’11’,’parentId’:’root’,’refObj’:{‘existType’:’exist’,’deptType’:’emp’,’treeNodeType’:’dept’}}”;\x0d\x0a JSONObject jsonObj = new JSONObject(jsonStr);\x0d\x0a JSONObject refObj = new JSONObject(jsonObj.getString(“refObj”));\x0d\x0a String existType = refObj.getString(“existType”);\x0d\x0a System.out.println(existType);\x0d\x0ajar使用的是org.json.jar

如何構建json串,並將map轉為jsonObject對象的三種方式(scala)

眾所周知,kafka中存儲的數據是經過BASE64加密後的jsonObject,因此從kafka中讀取的數據經過base64解碼,得到的是json串,利用JSONObect的方法可以對json串進行解析,拿到對應的數據。那麼要如何將scala對象或者java對象轉換為JsonObject對象或JSONObject對象呢?(注意:JsonObject對象和JSONObject對象不同,調用的API也不一樣)

三種轉換方式依賴的包源碼都是用JAVA編寫,所以構建Map對象時完全使用java對象,不會發生錯誤。構建過程如下:

三種將java對象轉換為jsonObject對象的開源包有:

1、google提供的Genson是一個完全的Java和JSON轉換的類庫,提供了全面的數據綁定、流操作等。基於Apache 2.0協議發佈。轉換結果為

JsonObject對象。

使用需要先導入Jar包:import com.google.gson.{Gson, JsonParser}

引入依賴:這裡選用版本為:2.2.4,具體版本可以根據業務需求選擇。

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.2.4/version

/dependency

2、Fastjson 是一個 Java 庫,可以將 Java 對象轉換為 JSON 格式,當然它也可以將 JSON 字符串轉換為 Java 對象。

導入jar包:import com.alibaba.fastjson.JSON

引入依賴:

dependency

groupIdcom.alibaba/groupId

artifactIdfastjson/artifactId

version1.2.8/version

/dependency

3、net.sf.json-lib方式

導入jar包:import net.sf.json.JSONObject

引入依賴:

dependency

groupIdnet.sf.json-lib/groupId

artifactIdjson-lib-ext-spring/artifactId

version1.0.2/version

/dependency

java中json格式轉換有哪些方法

用自帶的解析工具

package cn.edu.bzu.json;

 

import java.io.FileNotFoundException;

import java.io.FileReader;

 

import com.google.gson.JsonArray;

import com.google.gson.JsonIOException;

import com.google.gson.JsonObject;

import com.google.gson.JsonParser;

import com.google.gson.JsonSyntaxException;

 

public class Read {

    public static void main(String args[]){

        JsonParser parse =new JsonParser();  //創建json解析器

        try {

            JsonObject json=(JsonObject) parse.parse(new FileReader(“weather.json”));  //創建jsonObject對象

            System.out.println(“resultcode:”+json.get(“resultcode”).getAsInt());  //將json數據轉為為int型的數據

            System.out.println(“reason:”+json.get(“reason”).getAsString());     //將json數據轉為為String型的數據

             

            JsonObject result=json.get(“result”).getAsJsonObject();

            JsonObject today=result.get(“today”).getAsJsonObject();

            System.out.println(“temperature:”+today.get(“temperature”).getAsString());

            System.out.println(“weather:”+today.get(“weather”).getAsString());

             

        } catch (JsonIOException e) {

            e.printStackTrace();

        } catch (JsonSyntaxException e) {

            e.printStackTrace();

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        }

    }

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/279807.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:05
下一篇 2024-12-20 15:05

相關推薦

  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網絡應用中流…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有着非常豐富的數據類型。Python的數據類型可以分為數字類型、字符串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29
  • Python如何將字符串1234變成數字1234

    Python作為一種廣泛使用的編程語言,對於數字和字符串的處理提供了很多便捷的方式。如何將字符串「1234」轉化成數字「1234」呢?下面將從多個方面詳細闡述Python如何將字符…

    編程 2025-04-29
  • Python int轉二進制字符串

    本文將從以下幾個方面對Python中將int類型轉換為二進制字符串進行詳細闡述: 一、int類型和二進制字符串的定義 在Python中,int類型表示整數,二進制字符串則是由0和1…

    編程 2025-04-29
  • 用title和capitalize美觀處理Python字符串

    在Python中,字符串是最常用的數據類型之一。對字符串的美觀處理是我們在實際開發中經常需要的任務之一。Python內置了一些方法,如title和capitalize,可以幫助我們…

    編程 2025-04-28

發表回復

登錄後才能評論