台灣最大程式設計社群網站
線上人數
748
 
會員總數:245218
討論主題:189090
歡迎您免費加入會員
討論區列表 >> PHP >> Json_encode 空字串的格式
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Json_encode 空字串的格式
價值 : 10 QP  點閱數:562 回應數:6

樓主

楊小雄
門外漢
0 8
103 9
發送站內信

我所知道的 json_encode(array("str" => ""))
json 樣式會是 {"str":""}

如果我改成json_encode(array("str" => array()))
json樣式會是 {"str":[]}

{"str":{}} 是什麼情況才能做到呢?

搜尋相關Tags的文章: [ JSON ] ,
本篇文章發表於2016-07-22 21:44
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

可樂快跑
檢舉此回應
當你的資料再次是key:value的情況時,就會是{}了!
本篇文章回覆於2016-07-22 23:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

可樂快跑
檢舉此回應
簡單來說,因為php沒有很清楚的分別dictionary和array的差異。
php用hash table的形式來呈現在dictionary的型態。而在教學生又仍稱之為陣列。
在別的語言,key:value的型態一般就稱之為dictionary。
本篇文章回覆於2016-07-22 23:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應

物件的話會是{}
不過為何會去討論這個東西呢???
本篇文章回覆於2016-07-23 09:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

可樂快跑
檢舉此回應
其實是因為js對於dictionary和object的分界又一次不明顯所導致的……
就拿我寫的swift來說好了。
NSArray、NSDictionary、NSObject就是三種不同的型態。
一個是陣列,一個是字典(也就是標準key/value),一個是物件。
如果沒有很明顯的表示出轉型的型態,那你很容易就踩到地雷出錯。
但是在混用型態的語言就比較不容易踩著這些雷。
但也會因為這樣往往造成觀念上的誤解就是了。
本篇文章回覆於2016-07-23 22:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

楊小雄
檢舉此回應
您好:
謝謝大家的幫忙
因為我配合的外部單位,要我沒資料時,資料傳遞要是 {"str":{}}
不能是 “” 或是 []
不知道該如何解呢?

希望高手能幫我解惑
謝謝
本篇文章回覆於2016-07-25 08:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

可樂快跑
檢舉此回應

直接塞一個預設的空物件吧!
stdClass就只是一個純粹可以放入值的物件,是在php中除了hash table陣列外,另一個比較像是Dictionary用法的東西。
本篇文章回覆於2016-07-25 09:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.