2011-01-20 102 views
1

我試圖用ajax發送編碼的google地圖多段線到服務器以將它們保存在數據庫中。我發送他們通過JSON和解碼他們在服務器端。問題是當折線太長時,json_decode()函數將不再解碼json字符串。即時通訊使我的ajax調用後,我已經嘗試了幾個東西,像逃避多義線等,但沒有任何工作!用json通過ajax發送編碼多段線到服務器的問題

工作JSON例如:

{"title":"a", 
"type":"custom", 
"POIS":["46","43"], 
"polylines":[{ 
    "points": "oot|[email protected]{[email protected][email protected]@@eAxD~ClBpAxC`[email protected]@zA|@[email protected]@wAdBeB|C}[email protected]}A", 
    "levels": "PEFEFGEFFEEFGEFEFEP" 
}] 
} 

不工作JSON例如:

{"title":"a", 
"type":"custom", 
    "POIS":["46","43"], 
    "polylines":[{ 
    "points": "uip|Hc|[email protected]@GXoC`TwJV?VPvAhElAxF^[email protected]@[email protected]][email protected]@[email protected]^[email protected]`[email protected]~EsAdHaEzPyDpMw\[email protected]`MmDfNuDnMuA~D_BpDiEhHcF|[email protected]|hAjJvU`[email protected]|[email protected]|@fAjGF|[email protected]|[email protected]`DfAbCHM`[email protected]@|[email protected]@[email protected]@`@`@[email protected]`@E`@L`@[email protected]|EvF~CmMHInGfF|@[email protected]`@bBjAnGnAdLXjFJpCDtLSlIiBj`@[email protected]@tE`@[email protected]|A|[email protected]~CtI`FbMX`@\[email protected]`@WbEuFrD_HxBhBrDnBlGfCjFnAX\B`@[email protected]|@[email protected]@`[email protected]@F\[email protected]@lA", 
    "levels": "PFFEGEEFFEGEEEFFEFEGEEFFEEEFEEEFEFEGEEFEEEFFFEFEFEEEFEEEFEEFFEFEGEFFEFEFEFEEEFEFEEFFFEEFEFEFFEEGEEEFEEFEFEFEFEGEFEFEEGEEFEGEFEEGEEFEEFEEFEFP" 
    }] 
} 
+0

你有`json_decode`函數的來源嗎?這個功能來自哪裏? – 2011-01-20 16:26:52

回答

1

你需要逃避某些字符在財產。

快速瀏覽您的編碼折線表明您的字符序列大約是字符串的五分之一。

反斜槓應該用反斜槓轉義。因此,這看起來應該像"DpMw\\zaA"

你也應該逃避你的JSON雙引號作爲財產構造有開始和結束雙引號。

相關問題