我需要传递如下数据:
{
"key":"355-3a34c",
"status": [
{
"car info": [
{
"body": "composite",
"doors": "standard",
"type": "sedan"
}
],
"trim": "luxury",
"headlights": "led",
"tires": 4,
"step": "prepare for display",
"soapType": "soft scrub",
"attributes": []
},
{
"step": "display",
"days": 30,
"location": "front"
}
]
}
URLRequest
后的JSONSerialization
:
let convertedString = String(data: myData, encoding: String.Encoding.utf8) // the data will be converted to the string
需要注意的一些事项:
"step"
){ "car info": [{ "body": "composite", "doors": "standard", "type": "sedan" }]
我能够将数据加载到词典词典中,这使我能够拥有重复的键。
但是,我当然发现,由于数据无法保证保留输入的顺序,因此输出无法使用,因为我需要保留数据的顺序以保持其意义。
我正在寻找一种可以的数据类型:
JSONSerialization
我遇到了字典文字数据类型并将我的数据转换为它。它似乎不接受{ "car info": [{ "body": "composite", "doors": "standard", "type": "sedan" }].
此外,当我省略了复杂的数据结构时,仅仅是为了测试,当它被序列化为字典文字时出现了这个错误:
'NSInvalidArgumentException', reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'.
我可以为符合我需要的标准的Swift 3使用哪种数据类型或数据类型组合?
非常感谢。
答案 0 :(得分:0)
onPostExecute()
不允许您控制键的顺序,但您不需要使用它来制作类似JSON的文本。
您可以添加一串字符串,然后自己将其编码为Data。