私はこのインスタンスを持っている:いくつかの計算後スウィフト3 - [[文字列:任意]]の無効なJSONオブジェクト
var commands = [[String: Any]]()
、その結果は次のとおりです。
[["command": 50022, "homes": [["gateways": [["mac": "845DD74B405E", "services": [["iid": 9, "name": "Some name"]], "aid": 1]], "name": "H1"]]], ["command": 50025, "services": [["mac": "845DD74B405E", "iid": 9, "aid": 1, "new_name": "Some name"]]]]
私はそれを変換したいです( SwiftyJSON使用してJSONへcommands
):
let json = JSON(commands)
print(json) // "unknown"
が、結果は常にunknown
です。
次に、commands
の妥当性をチェックして、JSON変換可能であることを確認します。しかし、私はfalse
とJSONSerialization.isValidJSONObject(commands)
を持っています。これは予想外です!
commands
(辞書の配列)が有効なJSON
オブジェクトでない理由がありますか?
おかげで私のcommands
で
あなたの配列は有効です。 – vadian
配列が有効であることに私は同意します( 'print(type:of:commands)' - > array)。しかし、私を混乱させるのは、それが有効であれば、どうやって有効なJSONオブジェクトではないのでしょうか? – quanguyen
これは有効なJSONオブジェクトです。私は遊び場でそれを証明しました。 – vadian