我正在從 API 檢索 JSON 并遇到以下問(wèn)題:某些 Json 值看起來(lái)像這樣,無(wú)法以標(biāo)準(zhǔn)方式序列化"key": "This is just a "dummy" value to show the problem",問(wèn)題是圍繞虛擬的引號(hào)。Newtonsoft顯然認(rèn)為該值以dummy之前的引用結(jié)束,但實(shí)際上它在問(wèn)題之后結(jié)束。有沒(méi)有辦法忽略這些引號(hào)或以某種方式自動(dòng)刪除它們?我嘗試使用 StringBuilder 和 String-Replace 刪除它們,但這不起作用,因?yàn)檫@種模式在 JSON 文件中多次出現(xiàn),有時(shí)嵌套的引號(hào)引用單個(gè)單詞,有時(shí)引用整個(gè)句子。來(lái)自 API 的整個(gè) JSON 大約有 50.000 行,因此不可能手動(dòng)糾正錯(cuò)誤。在 C# 中可以以某種方式解決這個(gè)問(wèn)題嗎?
1 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
更新:您必須編寫(xiě)一個(gè)自定義解析器來(lái)解析,因?yàn)樗@然不是 JSON。您要做的就是在反序列化之前修復(fù)序列化對(duì)象。您必須遍歷整個(gè)字符串并刪除不需要的引號(hào)。
例如,當(dāng) JSON 的 value 屬性結(jié)束且下一個(gè)開(kāi)始時(shí),中間有一個(gè)逗號(hào)字符。
它基本上是一個(gè)巨大的嵌套 if 條件來(lái)解決這個(gè)問(wèn)題。
原答案
正如您所看到的,它不會(huì)解析為有效的 JSON。您必須按如下方式表示引號(hào)。如果它不在你的控制范圍內(nèi),你必須想出一個(gè)自定義解析器。
- 1 回答
- 0 關(guān)注
- 189 瀏覽
添加回答
舉報(bào)
0/150
提交
取消