我使用Socket.IO將數據移動到瀏覽器。發送的數據是一串JSON對象,當它到達瀏覽器時,它將成爲一個大的JSON字符串。問題是,這個JSON不能被JSON.parse()分析,因爲它不是「真正的」JSON。如何在瀏覽器中解析串聯的JSON字符串?
數據結構可以是任意的,因此RegEx可能無法做到這一點。而這個當前的設置只是暫時的。最終,這個JSON流將在服務器端進行預處理,因此不需要將流發送到瀏覽器,所以我想保留現在的AJAX/Socket.IO設置,而不是切換到JSON流解析器,如OboeJS。
我能做些什麼來解析這串串聯的JSON?
爲了清楚起見,將JSON是這樣的:
{"a":"A"}{"b":"B"}{"c":"C"}
而且我試圖解析它,這樣我可以訪問他們喜歡的方式:
console.log(Object.a) //A
console.log(Object.b) //B
console.log(Object.c) //C
你想用數據的工作,如果你收到JSON?您確定數據總是採用格式「{} {} {} {}」嗎? – Dropout
@Dropout是的,我喜歡。並且它將始終採用格式「{} {} {} {}」,因爲它將被連接成JSON,但這簡化了它。每個JSON可能都有嵌套的數據,例如'{{} {}} {} {} {}';或者可能有類似'{「a」:「這是有效的JSON}」}' – markovchain
那不是JSON。如果您剛剛連接了幾個JSON,則可以拆分它們並在該數組上調用JSON.parse,但是如果您有類似於{{}} {} {{}} {} {}}你真的不能期望它被任何真正的事情解析,因爲很難將規則應用於這樣的事情。那只是垃圾輸入數據。看起來像你將不得不實施*翻譯*的東西.. – Dropout