2016-07-29 80 views
1

聽起來很奇怪嗎?等待,直到聽到整個故事。 我是公司的初級網站開發人員,我們正在與opencart合作開發我們的網上商店項目。json是否有兼容性問題?

我們的任務是將opencart的數據庫與ATLANTIS或ERP的數據庫同步,因此當新產品可用或有更新時,電子商店將自動更新。

經過一番討論後,我將json添加到表中,但高級Web開發人員表示,當從非web語言爲web等語言生成json時,存在兼容性問題。

這是我第一次聽到,我想問這是否屬實,因爲我從來沒有得到完整的解釋。

+1

JSON是非常簡單的文本格式。它本身不能有任何兼容性問題。必須是你的任何一方產生無效的json,或者另一方不能正確解析有效的json。 –

+0

根據[spec](http://www.json.org/):_「JSON是一種完全不依賴語言的文本格式,但使用C語言家族程序員熟悉的約定,包括C ,C++,C#,Java,JavaScript,Perl,Python等等,這些特性使得JSON成爲一種理想的數據交換語言。「_生成/解析是一種web還是非web語言都沒有區別。如果兩種語言都正確實現了這個規範,那麼它就能正常工作如果你擔心生成的JSON不好,請運行[jsonlint.com](http://jsonlint.com/)來驗證 – War10ck

+1

「非web語言,如php」?呃,你的高級開發人員必須從一美元的穀物盒子裏得到他的培訓。現有的PHP的全部原因是構建網頁。 –

回答

4

JSON由相當嚴格且有些限制的spec定義。符合此規範的任何庫都將讀取由任何符合庫生成的JSON,並生成可由其他任何符合庫讀取的JSON。

如果您使用的庫以某種方式「擴展」了JSON,這種方式明顯很差且不符合規範,但通常這不是一個常見問題。

0

沒有兼容性問題,但是,它有一些不同的RFC(請求來自評論)和標準。

也存在一些系統完全忽視這種RFC(RFC 4627,RFC 7159和ECMA-404/ECMA-262標準是最常見的)。最後,由於JSON只是文本,所以傳統機器將文本保存爲不正確的編碼,無論是忽略它們的Endian系統,還是使用錯誤的符號都是常見的(從我個人的經驗來看)。

以前的分析師傾向於忽略,因爲與一些他們已經使用了很長時間的自定義可序列化系統相比,JSON更容易解密並使用更大的文件大小。