0
Kissmetrics出口顯然產生無效的JSON當存在字段名稱報價,例如,以下是產生的事件之一:修復壞的Json與字段名稱轉義的報價
{
"ab test group native dialogs on mobile":"Control",
"ab test group "interested" button copy":"Interested",
"_t":1412633724,
"_p":"hk5yxuxcqe/935mkbj+pz8xi0a8="
}
(換行了補充說明了這個問題,我們不能用這些來修復JSON)。
我正在尋找修復這種破碎的JSON的機制。
有索姆假設,我相信我們能夠充分利用:
- 我們可以假設,正在生產的JSON是平的(沒有嵌套的對象或數組),所以我認爲我們可以利用這一點。
- 我相信所有的字段都是字符串,除了_t,但不是100%肯定。
- 我不認爲我們可以假設壞的未轉義報價將被平衡。
- 我相信KM會從字段名稱中刪除逗號和冒號,但不能100%確定 - 它們不會從值中刪除(儘管我相信值將被正確編碼)。
這是一個棘手的問題,因爲它很含糊 - 很難說是否感興趣是一個新的屬性或應該在屬性名稱中轉義。我會考慮一個可以識別行的正則表達式(例如,「既沒有後面跟着一個:也沒有前面跟着一個,可選空白)。這不是完美的,但是如果這些都是屬性名稱,你可以開始生成一些規則表達式來修復字符串,我建議嘗試一下,運行導入和導出任何無法解析並在正則表達式上迭代的東西,以便快速修復。 –
對於此特定問題,事實證明,KM提供了一個腳本修復他們不好的JSON:https://gist.github.com/clay-whitley/8309396 –