我不得不解析(並最終重新串行)一些狡猾的JSON。它看起來像這樣:如何反序列化狡猾的JSON(帶有不正確引用的字符串和丟失的括號)?
{
name: "xyz",
id: "29573f59-85fb-4d06-9905-01a3acb2cdbd",
status: "astatus",
color: colors["Open"]
},
{
name: "abc",
id: "29573f59-85fb-4d06-9905-01a3acb2cdbd",
status: "astatus",
color: colors["Open"]
}
這裏有很多問題 - 從最嚴重的開始。
-
WTF甚至是什麼?如果我放棄'顏色',那麼我可以得到一串字符串,但我無法調整以開箱即用。
這是一個沒有方括號的數組。我可以通過將其包裹在其中來解決這個問題。但是有沒有辦法支持開箱即用?
房產沒有引號。反序列化對這些很不錯..但是反序列化只是沒有骰子。
任何處理這個結構和內部結構的建議嗎?
你不能使用標準的JSON解析器來解析它,因爲它不是有效的JSON。你必須編寫你自己的,或找到一種方法來處理傳入的字符串,然後再將它交給解析器。顯然,最好的解決方案是修復這個狡猾的數據源,但我們是否理解這超出了你的控制範圍?究竟是什麼抽出這個垃圾,並調用JSON?大多數編程語言現在都有內置的JSON序列化工具,所以實際上很難產生無效的輸出。 – ADyson
您一次提出多個問題。首選格式是[每個帖子一個問題](https://meta.stackexchange.com/q/222735/344280)。 – dbc