我是一個前端程式設計師,和我合作的後端開發對JSON的命名讓我很困惑;舉個例子:現在需要後端返回一個數組,數組裡每一項是個書籍物件,每個書籍裡有書籍名和總章節數;我認為正常情況應該是[{'name':'書籍1',chapters:500},{'name':'書籍2',chapters:180},{……},……]但是對方總是這樣返回[{'書籍1':500},{'書籍2':180},{……},……]因為這個問題我和他提過兩次,但是下次他還是這樣定介面格式……我想問:1.到底哪個格式是對的,或者說比較合適的;2.如果我認為的那個格式是合適的,怎麼勸說他。
-
1 # 阿帕奇阿賈克斯
-
2 # 陳浩這個碼農
你把這樣格式傳給後端,你看看能不能正常請求,後端沒法自動解析的時候會回來找你的,這個時候你就說:你就是這樣給我的。如果他能自動解析,那我也沒轍
-
3 # 嬉笑怒罵芭芭拉
這很簡單啊!不管他要啥格式。你就字串給他。偶爾又搞一個物件傳,在偶爾formdata搞一個,在混淆些他不要的資料。。。持續一段時間,他就改了。
-
4 # 非專家周老師
臥槽,要是3個欄位怎麼給?{aaa : bbb : ccc}?這還是json? 可以確定不是JAVA程式設計師給的,JAVA生成json容易,生成題主格式要自己處理。
-
5 # LettyWhiterock
因為後端的資料結構是map型別
是object嚴格模式
前端希望獲取array陣列,用於他的頁面模組提取。
這裡作為資深前端來說
前端需要學會使用原型鏈方法
Object. keys就是一個完美object轉array的方法
總之使用object構建的聯動選單與穿梭框
可以不使用迴圈來匹配
節省瀏覽器效能
-
6 # 啊康看數碼
我們公司來的那個兄弟,請求方式想用啥用啥,介面地址一會分割線一會駝峰,返回的json也是一會駝峰一會下劃線。
-
7 # 想早睡的臭小子
正常pojo轉出來的json就應該是你要求的那種,至於為啥後端給你傳那種格式,除了是為了壓縮傳遞內容,那就是手工拼串偷懶了
-
8 # 清墨語
自信點 你的格式是標準的 key就是key怎麼拿來當value呢. 至於溝通. 先禮後兵唄. 直接說 這格式不利於前端渲染資料. 他要咬死不改那你就暴力點 該自己程式碼.. 你倆總要有一個妥協. 一般而言 只要你溝通的時候沒有啥攻擊性語言 都很好協商的. 這個事也不是啥大事..你也別去說服誰. 做好自己就行.最後就是他的介面要是資料格式不定的話 你就直接開懟就完了. 有時候你不懟他他真不拿前端當回事兒.
-
9 # 白天不睡覺的夜貓
name的值是動態的,把name的值作為key,用Object.keys(obj)來取key值嗎?直接用obj.name或者obj["name"]不更方便?
如果想減少資料量,應該這樣寫:{"書籍1":500,"書籍2":180},前端通過Object.keys(obj)拿到key陣列,然後遍歷key陣列,動態取值即可!或者可以直接用for in遍歷(程式碼量也少)!
-
10 # 最薯仔
後端採用的格式存在嚴重的資料結構設計缺陷。
資料介面的每一個屬性名必須是(你採用那種格式)清楚的,可確定的。不能是(後端採用的格式)不言明,含蓄的。
你的格式我也沒太看懂啊,一般來說是這樣的:[{id:1,name:張三},{id:2,name:李四},…]。