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

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

“預(yù)期BEGIN_Object,但在第1列為字符串”

“預(yù)期BEGIN_Object,但在第1列為字符串”

牧羊人nacy 2019-07-03 17:30:31
“預(yù)期BEGIN_Object,但在第1列為字符串”我有這樣的方法:public static Object parseStringToObject(String json) {     String Object = json;     Gson gson = new Gson();     Object objects = gson.fromJson(object, Object.class);     parseConfigFromObjectToString(object);     return objects;}我想用以下方法解析一個(gè)JSON:public static void addObject(String IP, Object addObject) {     try {         String json = sendPostRequest("http://" + IP + ":3000/config/add_Object", ConfigJSONParser.parseConfigFromObjectToString(addObject));         addObject = ConfigJSONParser.parseStringToObject(json);     } catch (Exception ex) {         ex.printStackTrace();     }}但我收到一條錯(cuò)誤信息:JsonSyntaxException:java.lang.IllegalStateException:預(yù)期BEGIN_Object,但在第1列為String
查看完整描述

3 回答

?
largeQ

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

即使沒(méi)有看到JSON字符串,您也可以從錯(cuò)誤消息中看出,將其解析為類的實(shí)例并不是正確的結(jié)構(gòu)。

gson期望您的JSON字符串以打開大括號(hào)的對(duì)象開始。G.

{

但是,您傳遞給它的字符串以一個(gè)打開的引號(hào)開頭。

"


查看完整回答
反對(duì) 回復(fù) 2019-07-03
?
繁星淼淼

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

來(lái)自服務(wù)器的無(wú)效JSON應(yīng)該始終是預(yù)期的用例。在傳輸過(guò)程中,有一百萬(wàn)件事情會(huì)出錯(cuò)。GSON有點(diǎn)棘手,因?yàn)樗腻e(cuò)誤輸出會(huì)給您帶來(lái)一個(gè)問(wèn)題,您捕獲的實(shí)際異常將是另一種類型。

考慮到所有這些,客戶端的正確修復(fù)方法是

try{
  gson.fromJSON(ad, Ad.class);
  //...}catch (IllegalStateException | JsonSyntaxException exception){
  //...

如果您想知道從服務(wù)器收到的JSON錯(cuò)誤的原因,可以在CATCH塊內(nèi)部查看異常。但是,即使這是你的問(wèn)題,也不是客戶從互聯(lián)網(wǎng)上收到的修復(fù)JSON的責(zé)任。

無(wú)論哪種方式,當(dāng)它得到壞的JSON時(shí),客戶端都有責(zé)任決定該做什么。有兩種可能性是拒絕JSON,什么也不做,然后再試一次。

如果要再次嘗試,我強(qiáng)烈建議在try/catch塊內(nèi)設(shè)置一個(gè)標(biāo)志,然后在try/catch塊之外響應(yīng)該標(biāo)志。嵌套TRY/CATCH很可能是gson使我們陷入這種混亂的堆棧跟蹤和異常不匹配的原因。

換句話說(shuō),即使我承認(rèn)它看起來(lái)不太優(yōu)雅,我還是建議

boolean failed = false;try{
  gson.fromJSON(ad, Ad.class);
  //...}catch (IllegalStateException | JsonSyntaxException exception){
  failed = true;
  //...}if (failed){
  //...


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

添加回答

舉報(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)