欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 將jsonarray 轉(zhuǎn)化為對(duì)應(yīng)鍵值的jsonobject方法

 更新時(shí)間:2018年03月30日 10:14:45   作者:不忘初心_jzy  
下面小編就為大家分享一篇java 將jsonarray 轉(zhuǎn)化為對(duì)應(yīng)鍵值的jsonobject方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

有時(shí)候我們?cè)俨僮鲾?shù)據(jù)的時(shí)候,很多數(shù)據(jù)是jsonarry 格式的

如:

[{"name":"測(cè)試數(shù)據(jù)","id":1},{"name":"測(cè)試數(shù)據(jù)2","id":2}]

這樣的格式很類型表格數(shù)據(jù)類型。但是我們要取id 為1的name 這樣我們就要先變量以便了。如果需要多次操作這樣的類型,顯得很麻煩。

這里的數(shù)據(jù)我們可以看出id 是唯一的。那么我們可以想辦法將其轉(zhuǎn)為jsonobject 這樣我們就很方便 根據(jù)指定id 獲取 name 了。

public static JSONObject toJSONObject(JSONArray jsonArray, String key) {
    JSONObject jsonObject = new JSONObject();
    for (int i = 0; i < jsonArray.size(); i++) {
      JSONObject temp = jsonArray.getJSONObject(i);
      String[] keyValues = StringUtil.StringToArray(key);
      if (keyValues != null) {
        for (String item : keyValues) {
          String[] k = item.split(":");
          String[] keys = k[0].split("_");
          String keyName = k[0];
          if (keys.length == 2) {
            keyName = keys[0];
          }
          String jsonKeyName = temp.getString(keyName);
          if (keys.length == 2) {
            jsonKeyName += "_" + keys[1];
          }
          jsonObject.put(jsonKeyName, temp.getString(k[1]));
        }
      }
    }
    return jsonObject;
  }

這個(gè)方法就可以簡單的實(shí)現(xiàn),但是可能不是最好的實(shí)現(xiàn)方法。歡迎對(duì)其提出寶貴的建議。

這里列出各個(gè)案例

案例1:

原數(shù)據(jù):
[{"name":"測(cè)試數(shù)據(jù)","id":1},{"name":"測(cè)試數(shù)據(jù)2","id":2}]
調(diào)用方法:
toJSONObject(jsonArray, "id:name")
結(jié)果:
{"1":"測(cè)試數(shù)據(jù)","2":"測(cè)試數(shù)據(jù)2"}

案例2:(這僅是我們自己業(yè)務(wù)需要添加上的)

原數(shù)據(jù):
[{"name":"測(cè)試數(shù)據(jù)","id":1},{"name":"測(cè)試數(shù)據(jù)2","id":2}]
調(diào)用方法:
toJSONObject(jsonArray, "id_test:name")
結(jié)果:
{"1_test":"測(cè)試數(shù)據(jù)","2_test":"測(cè)試數(shù)據(jù)2"}

案例三:

原數(shù)據(jù):
[{"no":100,"name":"測(cè)試數(shù)據(jù)","id":1,"desc":"測(cè)試描述"},{"no":101,"name":"測(cè)試數(shù)據(jù)2","id":2,"desc":"測(cè)試描述2"}]
調(diào)用方法:
toJSONObject(jsonArray, "id:name,no:desc")
結(jié)果:
{"1":"測(cè)試數(shù)據(jù)","100":"測(cè)試描述","2":"測(cè)試數(shù)據(jù)2","101":"測(cè)試描述2"}

以上這篇java 將jsonarray 轉(zhuǎn)化為對(duì)應(yīng)鍵值的jsonobject方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java selenium XPath 定位實(shí)現(xiàn)方法

    java selenium XPath 定位實(shí)現(xiàn)方法

    本文主要介紹java selenium XPath,這里整理了XPath的資料,并附實(shí)現(xiàn)方法,有需要的小伙伴可以參考下
    2016-08-08
  • Java AtomicInteger類使用方法實(shí)例講解

    Java AtomicInteger類使用方法實(shí)例講解

    這篇文章主要介紹了Java AtomicInteger類使用方法實(shí)例講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • maven中no main manifest attribute的問題解決

    maven中no main manifest attribute的問題解決

    本文主要介紹了maven中no main manifest attribute的問題解決,這個(gè)錯(cuò)誤通常意味著Spring Boot應(yīng)用在啟動(dòng)時(shí)遇到了問題,下面就來具體介紹一下,感興趣的可以了解一下
    2024-08-08
  • java隊(duì)列實(shí)現(xiàn)方法(順序隊(duì)列,鏈?zhǔn)疥?duì)列,循環(huán)隊(duì)列)

    java隊(duì)列實(shí)現(xiàn)方法(順序隊(duì)列,鏈?zhǔn)疥?duì)列,循環(huán)隊(duì)列)

    下面小編就為大家分享一篇java隊(duì)列實(shí)現(xiàn)方法(順序隊(duì)列,鏈?zhǔn)疥?duì)列,循環(huán)隊(duì)列),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • java 使用異常的好處總結(jié)

    java 使用異常的好處總結(jié)

    這篇文章主要介紹了java 使用異常的好處總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 如何查看JVM使用的默認(rèn)的垃圾收集器

    如何查看JVM使用的默認(rèn)的垃圾收集器

    這篇文章主要介紹了如何查看JVM使用的默認(rèn)的垃圾收集器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Idea創(chuàng)建springboot不能選擇java8的解決

    Idea創(chuàng)建springboot不能選擇java8的解決

    在IDEA 2023版本創(chuàng)建Spring Boot項(xiàng)目時(shí),發(fā)現(xiàn)沒有Java 8選項(xiàng),只有Java 17和Java 20,解決方法包括:通過修改服務(wù)器URL(推薦)或直接在創(chuàng)建后修改pom.xml文件中的Spring Boot和Java版本
    2025-01-01
  • springboot如何連接兩個(gè)數(shù)據(jù)庫(多個(gè))

    springboot如何連接兩個(gè)數(shù)據(jù)庫(多個(gè))

    這篇文章主要介紹了springboot如何連接兩個(gè)數(shù)據(jù)庫(多個(gè)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • RabbitMQ的核心原理場景解析及具體應(yīng)用

    RabbitMQ的核心原理場景解析及具體應(yīng)用

    RabbitMQ是基于AMQP的開源消息中間件,通過靈活路由、可靠性保障和高可用特性,實(shí)現(xiàn)服務(wù)解耦、流量緩沖及異步通信,本文梳理RabbitMQ 的核心知識(shí),并結(jié)合實(shí)戰(zhàn)場景解析其在項(xiàng)目中的具體應(yīng)用,感興趣的朋友一起看看吧
    2025-08-08
  • 解決idea創(chuàng)建版本時(shí)只有Java21和Java17選項(xiàng)

    解決idea創(chuàng)建版本時(shí)只有Java21和Java17選項(xiàng)

    你是否在使用IntelliJ?IDEA創(chuàng)建新項(xiàng)目時(shí)遇到了只有Java?21和Java?17的選項(xiàng)?別擔(dān)心,我們的指南將為你提供解決方案,通過簡單的步驟,你將能夠選擇你需要的任何Java版本,繼續(xù)閱讀,讓我們開始吧!
    2024-03-03

最新評(píng)論