最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組

 更新時(shí)間:2022年02月07日 12:04:01   作者:我是王小賤  
這篇文章主要介紹了Java如何將String轉(zhuǎn)換成json對(duì)象或json數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將String轉(zhuǎn)換成json對(duì)象或json數(shù)組

這里的SmartProejctEquipmentMap 是我自定的一個(gè)實(shí)體類,可以自己定義轉(zhuǎn)換。

注意:json字符串中鍵的名稱要和實(shí)體類一致。

@Test
    public void TestJsonObject() {
        String datajson = "" +
                "[" +
                "   {" +
                "       'projectId':'00a8de32-422c-4b8d-b945-d9cda7f30a31'," +
                "       'projectName':'年產(chǎn)片式元器件7.2億個(gè)、高分子固體電容器3.96億個(gè)等項(xiàng)目(標(biāo)準(zhǔn)廠房、連廊A,甲類倉(cāng)庫(kù),辦公樓,宿舍,值班門衛(wèi),垃圾房)'," +
                "       'iconType':'yc'," +
                "       'eqpType':'yc'," +
                "       'sn':'SZWJJJ8MQX20200403134027'," +
                "       'name':'測(cè)試第三方01'," +
                "       'wkt':'測(cè)試第三方01'," +
                "       'sn':'POINT(120.698299 31.272362)'" +
                "   }," +
                "   {" +
                "       'projectId':'00a8de32-422c-4b8d-b945-d9cda7f30a31'," +
                "       'projectName':'測(cè)試項(xiàng)目編號(hào)名稱'," +
                "       'iconType':'yc'," +
                "       'eqpType':'yc'," +
                "       'sn':'FDASDFAFDAFYF89AS6F897DD'," +
                "       'name':'揚(yáng)塵設(shè)備001'," +
                "       'wkt':'揚(yáng)塵設(shè)備001'," +
                "       'sn':'POINT(120.698299 31.272362)'" +
                "   }" +
                "]";
 
        JSONArray jsonArray = JSONArray.parseArray(datajson);
        for(int i=0; i<jsonArray.size(); i++) {
            JSONObject object = jsonArray.getJSONObject(i);
            SmartProejctEquipmentMap myclass = JSONObject.parseObject(object.toJSONString() , SmartProejctEquipmentMap.class);// 將string類型直接封裝成對(duì)象
            System.out.println(myclass.toString());
        }

字符串轉(zhuǎn)json數(shù)組的解決

前提:當(dāng)需要把一串字符串轉(zhuǎn)成一個(gè)json 數(shù)組 ,并遍歷其中的內(nèi)容時(shí)。

第一步:

首先導(dǎo)入 net.sf.json.JSONArray和net.sf.json.JSONObject 兩個(gè)jar 包

Java:

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; ?// 一個(gè)未轉(zhuǎn)化的字符串
JSONArray json = JSONArray.fromObject(str ); // 首先把字符串轉(zhuǎn)成 JSONArray ?對(duì)象
if(json.size()>0){
? for(int i=0;i<json.size();i++){
? ? JSONObject job = json.getJSONObject(i); ?// 遍歷 jsonarray 數(shù)組,把每一個(gè)對(duì)象轉(zhuǎn)成 json 對(duì)象
? ? System.out.println(job.get("name")+"=") ; ?// 得到 每個(gè)對(duì)象中的屬性值
? }
}

Js:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>    
<SCRIPT LANGUAGE="JavaScript">   
   var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }";  
    var jsonobj=eval('('+t+')');  
    alert(jsonobj.firstName);  
    alert(jsonobj.lastName); 
  
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";  
var myobj=eval(t2);  
for(var i=0;i<myobj.length;i++){  
   alert(myobj[i].name);  
   alert(myobj[i].age);  
}  
  
var t3="[['<a href=# οnclick=openLink(14113295100,社旗縣國(guó)稅局橋頭稅務(wù)所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','社旗縣國(guó)稅局橋頭稅務(wù)所','社旗縣城郊鄉(xiāng)長(zhǎng)江路西段']]";  
//通過(guò)eval() 函數(shù)可以將JSON字符串轉(zhuǎn)化為對(duì)象  
var obj = eval(t3);  
for(var i=0;i<obj.length;i++){  
   for(var j=0;j<obj[i].length;j++){  
alert(obj[i][j]);  
   }   
}  
  
/*  
//stringifier 函數(shù)的作用跟 parse 相反, 用來(lái)將一個(gè)js對(duì)象轉(zhuǎn)換為 JSON 文本。  
var jsonText = JSON.stringify(obj);  
alert(jsonText);  
  
//如果基于安全的考慮的話,最好是使用一個(gè) JSON 解析器。 一個(gè) JSON 解析器將只接受 JSON 文本。所以是更安全的。  
var myObject = JSON.parse(myJSONtext, filter);    
//可選的 filter 參數(shù)將遍歷每一個(gè)value key 值對(duì), 并進(jìn)行相關(guān)的處理。如:  
//如  
myData = JSON.parse(text, function (key, value) {        
return key.indexOf('date') >= 0 ? new Date(value) : value;    });  
  
//stringifier 函數(shù)的作用跟 parse 相反, 用來(lái)將一個(gè)js對(duì)象轉(zhuǎn)換為 JSON 文本。  
var myJSONText = JSON.stringifier(myObject);  
*/  
</SCRIPT>  
</HEAD>  
<BODY>  
</BODY>  
</HTML>  

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java JDK1.7對(duì)字符串的BASE64編碼解碼方法

    Java JDK1.7對(duì)字符串的BASE64編碼解碼方法

    今天小編就為大家分享一篇Java JDK1.7對(duì)字符串的BASE64編碼解碼方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • SpringBoot配置動(dòng)態(tài)數(shù)據(jù)源的實(shí)戰(zhàn)詳解

    SpringBoot配置動(dòng)態(tài)數(shù)據(jù)源的實(shí)戰(zhàn)詳解

    Spring對(duì)數(shù)據(jù)源的管理類似于策略模式,不懂策略模式也沒(méi)關(guān)系,其實(shí)就是有一個(gè)全局的鍵值對(duì),類型是Map<String, DataSource>,當(dāng)JDBC操作數(shù)據(jù)庫(kù)之時(shí),會(huì)根據(jù)不同的key值選擇不同的數(shù)據(jù)源,本文介紹了SpringBoot配置動(dòng)態(tài)數(shù)據(jù)源的方法,需要的朋友可以參考下
    2024-08-08
  • 一文搞懂Java的ThreadPoolExecutor原理

    一文搞懂Java的ThreadPoolExecutor原理

    都說(shuō)經(jīng)典的就是好的,這句話放在Java的ThreadPoolExecutor上那是一點(diǎn)都沒(méi)錯(cuò),像現(xiàn)在數(shù)據(jù)庫(kù)連接的池化實(shí)現(xiàn),或者像Tomcat這種WEB服務(wù)器的線程管理,處處都有著ThreadPoolExecutor的影子,本篇文章將結(jié)合源碼實(shí)現(xiàn),對(duì)ThreadPoolExecutor的原理進(jìn)行一個(gè)深入學(xué)習(xí)
    2023-06-06
  • Mybatis-Plus和Mybatis的區(qū)別詳解

    Mybatis-Plus和Mybatis的區(qū)別詳解

    這篇文章主要介紹了Mybatis-Plus和Mybatis的區(qū)別,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Spring基于注解配置AOP詳解

    Spring基于注解配置AOP詳解

    這篇文章主要介紹了Spring基于注解配置AOP詳解,Spring 的 AOP 功能是基于 AspectJ 實(shí)現(xiàn)的,支持使用注解聲明式定義 AOP 切面,Spring 基于注解配置 AOP 需要啟用 AspectJ 自動(dòng)代理功能,需要的朋友可以參考下
    2023-09-09
  • Java如何輸出windows中的全部漢字

    Java如何輸出windows中的全部漢字

    這篇文章主要介紹了Java如何輸出windows中的全部漢字問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java?Web開(kāi)發(fā)中的分頁(yè)與參數(shù)校驗(yàn)舉例詳解

    Java?Web開(kāi)發(fā)中的分頁(yè)與參數(shù)校驗(yàn)舉例詳解

    這篇文章主要介紹了JavaWeb開(kāi)發(fā)中的分頁(yè)設(shè)計(jì)和參數(shù)校驗(yàn),分頁(yè)設(shè)計(jì)通過(guò)分頁(yè)查詢參數(shù)優(yōu)化查詢性能,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • Spring boot如何通過(guò)@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)及多線程配置

    Spring boot如何通過(guò)@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)及多線程配置

    這篇文章主要介紹了Spring boot如何通過(guò)@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)及多線程配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Springboot使用redisson實(shí)現(xiàn)分布式鎖的代碼示例

    Springboot使用redisson實(shí)現(xiàn)分布式鎖的代碼示例

    在實(shí)際項(xiàng)目中,某些場(chǎng)景下可能需要使用到分布式鎖功能,那么實(shí)現(xiàn)分布式鎖有多種方式,常見(jiàn)的如mysql分布式鎖、zookeeper分布式鎖、redis分布式鎖,本文介紹springboot如何使用redisson實(shí)現(xiàn)分布式鎖,需要的朋友可以參考下
    2023-06-06
  • Spring Boot分頁(yè)方法定義示例

    Spring Boot分頁(yè)方法定義示例

    這篇文章主要為大家介紹了Spring Boot 分頁(yè)方法定義,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評(píng)論

屏东县| 惠东县| 宣武区| 于都县| 五台县| 道孚县| 阳高县| 安仁县| 中方县| 新民市| 吉安市| 冕宁县| 布尔津县| 临沂市| 吴桥县| 宁都县| 三门峡市| 庄浪县| 福安市| 光泽县| 浦东新区| 四平市| 靖江市| 明水县| 鞍山市| 门头沟区| 崇阳县| 开平市| 定远县| 太保市| 长寿区| 讷河市| 陆良县| 黄山市| 容城县| 噶尔县| 开阳县| 萝北县| 上栗县| 霍城县| 侯马市|