第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從 Java 字符串中提取值

從 Java 字符串中提取值

四季花海 2022-07-14 09:48:45
我有以下格式的 Java 字符串:String s = "[    "samsung",    ["samsung galaxy s9 case","samsung galaxy s8 case","samsung galaxy s9 plus case","samsung galaxy s8 charger"],    [{"nodes":[{"name":"Cell Phones & Accessories","alias":"mobile"}]},{},{},{},{},{},{},{},{},{}],    [],    "1XQ3CN8WM8VSE"]"處理字符串的最佳方法是什么,以便我可以獲得這些值(用 [] 括起來(lái)的第二項(xiàng))"samsung galaxy s9 case","samsung galaxy s8 case","samsung galaxy s9 plus case","samsung galaxy s8 charger"里面一個(gè)List<String>?更新字符串是有效的 JSON 并使用代碼進(jìn)行了測(cè)試public static boolean isJSONValid(String test) {        try {            new JSONObject(test);        } catch (JSONException ex) {            // edited, to include @Arthur's comment            // e.g. in case JSONArray is valid as well...            try {                new JSONArray(test);            } catch (JSONException ex1) {                return false;            }        }        return true;    }我也嘗試將其解析為 JSON(如建議的那樣),但我得到了異常。JSONObject obj = 新 JSONObject(s);線程“main”org.json.JSONException 中的異常:JSONObject 文本必須在 1 [character 2 line 1] 處以 '{' 開(kāi)頭。我的字符串總是以 [..] 開(kāi)頭
查看完整描述

2 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

該格式不是有效的 json,這就是您收到該錯(cuò)誤的原因,獲取所需字符串的一種簡(jiǎn)單方法是使用 split 方法,然后將其存儲(chǔ)在您喜歡的集合中。


public static void main(String args[]){

    String s = "[samsung,[\"samsung galaxy s9 case\",\"samsung galaxy s8 case\",\"samsung galaxy s9 plus case\",\"samsung galaxy s8 charger\"],[{\"nodes\":[{\"name\":\"Cell Phones & Accessories\",\"alias\":\"mobile\"}]},{},{},{},{},{},{},{},{},{}],[],\"1XQ3CN8WM8VSE\"]";


    String[] splitedFullString = s.split(",\\[");

    String sequence = splitedFullString[1];

    sequence = sequence.replaceAll("]", "");

    sequence = sequence.replaceAll("\"", "");

    String[] splitSequence = sequence.split(",");


    List<String> list = new ArrayList<>(); 

    for(String item : splitSequence){

        list.add(item);

    }

    for(String item : list){

        System.out.println(item);

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-07-14
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

我在 Andreas 的回答的幫助下編寫了代碼,


    JSONArray obj = new JSONArray(s);


    String str = obj.get(1).toString();

    String[] arr = str.substring(1, str.length()-1).split(",");

這現(xiàn)在工作正常。謝謝你。


查看完整回答
反對(duì) 回復(fù) 2022-07-14
  • 2 回答
  • 0 關(guān)注
  • 249 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)