国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

五分鐘學會如何用java解析json字符串!

這篇具有很好參考價值的文章主要介紹了五分鐘學會如何用java解析json字符串!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在工作中我們常常使用json來存儲和傳輸結(jié)構(gòu)化的數(shù)據(jù),如用戶信息、配置信息等。它通常以string的方式進行傳輸,因此如何將string解析并得到我們想要的信息是一項必備且常用的功能。

JSON(JavaScript Object Notation)是一種輕量級的、基于文本的、與語言無關的數(shù)據(jù)交換格式,易于人和機器讀寫。JSON可以表示兩種結(jié)構(gòu)化類型:對象和數(shù)組。對于每一個對象,它內(nèi)部的值可以是字符串、整數(shù)、布爾值、空值,以及json對象和數(shù)組。下面是來自維基百科的簡單示例,它顯示了描述一個人的對象的JSON 表示。該對象具有名字和姓氏的字符串值、年齡的數(shù)字值、表示人地址的對象值以及電話號碼對象的數(shù)組值。我們將以此為例說明如何在java中解析它。

示例:

{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": 10021
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "fax",
            "number": "646 555-4567" 
        }
    ] 
}

引入使用的包:

//引入解析json常用的包
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.*;
//將jsonStr中的數(shù)據(jù)提取出來,轉(zhuǎn)化成Person類,Person類已經(jīng)根據(jù)json的格式設定好
public static Person jsonParse(String jsonStr){
	//將json string轉(zhuǎn)化為json object
	JSONObject jo = new JSONObject(jsonStr);
	//初始化目標值
	Person person = new Person();
	
	//獲取值為String類型的成員變量
	String firstName = jo.getString("firstName");
	String lastName = jo.getString("lastName");
	person.setFirstName(firstName);
	person.setLastName(lastName);
	
	//獲取值為int類型的成員變量
	int age = jo.getInt("age");
	person.setAge(age);
	
	//獲取值為Object類型的成員變量(如上套娃)
	//Address類已經(jīng)根據(jù)json的格式設定好
	JSONObject addressObj = jo.getJSONObject("address");
	Address address = new Address();
	String streetAddress = addressObj.getString("addressObj");
	address.setStreetAddress(streetAddress);
	...
	person.setAddress(address);

	//獲取值為array類型的成員變量
	//PhoneNumber類已經(jīng)根據(jù)json的格式設定好
	List<PhoneNumber> phoneNumbers = new ArrayList<PhoneNumber>();
	JSONArray phoneNumbersjson = jo.getJSONArray("phoneNumbers");
	for(int i=0;i<phoneNumbersjson.length();i++){
		//套娃解析其中每一個對象
		PhoneNumber phoneNumber = new PhoneNumber();
		JSONObject phoneNumberObj = phoneNumbersjson.getJSONObject(i);
		String type = phoneNumberObj.getString("type");
		phoneNumber.setType(type);
		String number = phoneNumberObj.getString("number");
		phoneNumber.setType(number);
		//將解析好的對象加入數(shù)組
		phoneNumbers.add(phoneNumber);
	}
	person.setPhoneNumbers(phoneNumbers);
}

json的結(jié)構(gòu),無非是值,或者對象和數(shù)組的反復套娃,將這三種類型的解析方法掌握了,便不怕任何復雜結(jié)構(gòu)的json了。是不是很簡單?

Reference:
https://www.geeksforgeeks.org/parse-json-java/文章來源地址http://www.zghlxwxcb.cn/news/detail-508625.html

到了這里,關于五分鐘學會如何用java解析json字符串!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Oracle解析JSON字符串

    Oracle解析JSON字符串

    假設某個字段存儲的JSON字符串,我們不想查出來后通過一些常見的編程語言處理( JSON.parse() 或者是 JSONObject.parseObject() 等),想直接在數(shù)據(jù)庫上處理,又該如何書寫呢? 其實在 ORACLE 中也支持多種機制去處理JSON數(shù)據(jù),例如有操作函數(shù)JSON_ARRAY、JSON_EXISTS、JSON_VALUES、JSON_TABLE、

    2024年02月16日
    瀏覽(21)
  • 7. Hive解析JSON字符串、JSON數(shù)組

    Hive解析JSON字符串 1. get_json_object 語法: get_json_object(json_string, path) json_string 是要解析的JSON字符串 path 是用于指定要提取的字段路徑的字符串 局限性 get_json_object 函數(shù)的性能會受到 JSON數(shù)據(jù)的結(jié)構(gòu)和大小 的影響。對于較復雜的嵌套結(jié)構(gòu),考慮使用Hive的其他函數(shù)或自定義函數(shù)來

    2024年02月11日
    瀏覽(19)
  • Hive 解析 JSON 字符串數(shù)據(jù)的實現(xiàn)方式

    Hive 解析 JSON 字符串數(shù)據(jù)的實現(xiàn)方式

    在 Hive 中提供了直接解析 JSON 字符串數(shù)據(jù)的方法 get_json_object(json_txt, path) ,該方法參數(shù)解析如下: json_txt :顧名思義,就是 JSON 字符串; path :指的是匹配 JSON 字符串的格式,通過固定的語法獲取 JSON 字符串中的內(nèi)容。 常用的 path 參數(shù)匹配符號有四個,分別是: $ :表示獲

    2024年02月05日
    瀏覽(22)
  • C#2010 .NET4 解析 json 字符串

    C#2010 .NET4 解析 json 字符串

    下載Newtonsoft.Json.dll ?

    2024年02月11日
    瀏覽(22)
  • Golang校驗字符串是否JSON格式方法json.Valid源碼解析

    上篇文章《Golang中如何校驗字符串是否為JSON格式?》主要講解了使用json.Valid校驗字符串是否JSON格式的使用方法,本文來剖析一下json.Valid方法的源碼。 json.Valid方法定義: scan := newScanner() 獲取一個 scanner 類型的對象,關鍵的是checkValid方法,checkValid源碼如下: 首先調(diào)用了sc

    2023年04月26日
    瀏覽(19)
  • 大數(shù)據(jù)技術之Spark SQL——解析JSON字符串

    大數(shù)據(jù)技術之Spark SQL——解析JSON字符串

    目錄 一、數(shù)據(jù)準備 1)Department ?2)School 3)Student 4)Teacher 5)實例化對象 結(jié)構(gòu)如下: 二、加載數(shù)據(jù) 數(shù)據(jù)展示? 三、日志數(shù)據(jù)加載 輸出結(jié)果? sc.textFile讀取數(shù)據(jù)源,并對結(jié)構(gòu)化數(shù)據(jù)進行拆分 ? ? ? ? ? 同樣的,除了json格式字符串,我們也可以用類似的方法來加載日志數(shù)據(jù)。

    2024年02月04日
    瀏覽(25)
  • Java中如何將字符串轉(zhuǎn)換為JSON格式字符串

    Java中如何將字符串轉(zhuǎn)換為JSON格式字符串 在Java編程中,我們經(jīng)常需要處理JSON數(shù)據(jù)格式。有時候,我們需要將一個普通的字符串轉(zhuǎn)換為JSON格式的字符串。幸運的是,Java提供了多種方法來實現(xiàn)這個目標。在本文中,我將介紹兩種常見的方法來將字符串轉(zhuǎn)換為JSON格式字符串。 方

    2024年02月06日
    瀏覽(26)
  • 如何用java快速去掉字符串前后的雙引號

    你可以使用Java中的String類的trim()方法和replace()方法,將字符串前后的雙引號去掉。具體步驟如下: 調(diào)用trim()方法去掉字符串前后的空格; 調(diào)用replace()方法,將字符串前后的雙引號替換為空字符串,即去掉雙引號。 以下是示例代碼: 輸出結(jié)果為:Hello, world!

    2024年02月11日
    瀏覽(26)
  • 【微信小程序】使用 JSON.parse 方法將返回的 JSON 字符串解析為對象

    在微信小程序中,你可以使用 JSON.parse 方法將返回的 JSON 字符串解析為對象。以下是實現(xiàn)類似功能的示例代碼: 在上述代碼中,我們使用 JSON.parse 方法將返回的 JSON 字符串解析為對象。然后,我們可以通過點語法或方括號語法訪問解析后的對象的屬性,例如 data.result 。 請注

    2024年02月15日
    瀏覽(20)
  • gin 解析 formData帶文件和json字符串的一起的方式

    基礎不好真的難受,這點問題折騰半天… 網(wǎng)上看到很多單獨解析文件的,網(wǎng)上的資料確實都能找到。但是結(jié)合gin解析文件和json字符串(或其他類型的參數(shù),但字符串最好)一起的,就不好找。 需求是前端使用 Content-Type: multipart/form-data 的形式上傳文件以及需要的參數(shù)。后端

    2024年02月16日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包