我打電話第三方API和接收作爲響應下一個字符串:解析JSON陣列周圍的引號
"[{\"name\":\"name\",\"id\":1}]"
正如我看這不是有效的JSON,因爲它周圍的引號。是否有可能以某種方式將它映射到jackson
,gson
庫的Java對象?
或者無論如何我應該寫我的自定義轉換器/反序列化器?
我打電話第三方API和接收作爲響應下一個字符串:解析JSON陣列周圍的引號
"[{\"name\":\"name\",\"id\":1}]"
正如我看這不是有效的JSON,因爲它周圍的引號。是否有可能以某種方式將它映射到jackson
,gson
庫的Java對象?
或者無論如何我應該寫我的自定義轉換器/反序列化器?
您不需要自定義轉換器或解串器。你當然可以寫,但我不會鼓勵你這樣做。明確這裏發生的事情,尤其是當你在一個團隊中工作時。這是錯誤的另一方,他們不輸出有效的JSON。
與傑克遜,反序列化它們的輸出是這樣的:
ObjectMapper mapper = new ObjectMapper();
String json = theirOutput.substring(1, theirOutput.length - 1);
Object myObject = mapper.readValue(json, MyObject.clas);
凌駕於你爲什麼做這種方式,使每個人都明白這裏發生了什麼一些文檔。在我看來,這是一個比編寫自定義轉換器或解串器更清潔的解決方案。
是的我的意思是我知道如何做到這一點,但我正在使用改造,所以我應該寫一些自定義轉換器到子串響應正文,然後映射它。我想也許有一些魔術功能來逃避這些引號。 –
* response next string * or * response text string *? – mmuzahid
文本如示例 –