1
使用MATLAB jsonencode
函數時,似乎很難將大小1的數組轉換爲正確的JSON格式,即[值]。例如,如果我這樣做:使用帶有長度爲1的數組的jsonencode
jsonencode(struct('words', [string('hello'), string('bye')]))
那麼這將產生:
{"words":["hello","bye"]}
這是正確的。然而,如果我做的:
jsonencode(struct('words', [string('hello')]))
然後它產生:
{"words":"hello"}
失去了方括號,它需要,因爲它是在普通的數組。使用單元格而不是數組時,會發生同樣的情況,但如果單元格不在結構內部,則使用單元格可以工作。
任何想法如何解決這個問題?
該問題與matlab在單個值和1x1矩陣之間沒有區別的事實有關。 – m7913d
我想最簡單的方法是在你的字符串的末尾添加一個垃圾/臨時單詞,以確保它有多個單詞,迫使MATLAB使用方括號。然後在JSON中刪除後處理中的垃圾單詞。更困難的方法是讀取單元格輸出並在適當的位置用方括號重寫;可能需要一個正則表達式。 – Adriaan
該結構會自動轉換爲JSON作爲http請求的一部分,因此我必須更改代碼以在客戶端執行JSON轉換,並以字符串而不是結構形式傳遞數據。所以我想這可能會很麻煩。 – Simmovation