【发布时间】:2015-06-13 07:18:07
【问题描述】:
我需要像这样创建 JSON:
Order = { type_id:'1',model_id:'1',
transfer:{
startDate:'10/04/2015 12:45',
endDate:'10/04/2015 16:00',
startPoint:'Ул. Момышулы, 45',
endPoint:'Аэропорт Астаны'
},
hourly:{
startDate:'10/04/2015',
endDate:'11/04/2015',
startPoint:'ЖД Вокзал',
endPoint:'',
undefined_time:'1'
},
custom:{
startDate:'12/04/2015',
endDate:'12/04/2015',
startPoint:'Астана',
endPoint:'Павлодар',
customPrice:'50 000'
},
commentText:'',
device_type:'ios'
};
问题是我无法创建有效的 JSON。 以下是我创建对象的方式:
let jsonObject: [AnyObject] = [
["type_id": singleStructDataOfCar.typeID, "model_id": singleStructDataOfCar.modelID, "transfer": savedDataTransfer, "hourly": savedDataHourly, "custom": savedDataReis, "device_type":"ios"]
]
savedData 是字典:
let savedData: NSDictionary = ["ServiceDataStartDate": singleStructdata.startofWork,
"ServiceDataAddressOfReq": singleStructdata.addressOfRequest,
"ServiceDataAddressOfDel": singleStructdata.addressOfDelivery,
"ServiceDataDetailedText": singleStructdata.detailedText, "ServiceDataPrice": singleStructdata.priceProposed]
当我只使用字符串创建我的 JSON 对象时,一切正常。但是,当我包含字典 @987654326@ 时,返回 false。如何创建有效的字典?
【问题讨论】:
-
是的,红色那篇文章。那篇文章 nsdictionary 只有字符串值。在我的情况下 var transfer, hourly, custom 有很多值。它不是字符串......所以我应该如何包含它们?
-
让 jsonObject: [AnyObject] = [ ["type_id": singleStructDataOfCar.typeID, "model_id": singleStructDataOfCar.modelID, "transfer":[ "startDate":savedDataTransfer["ServiceDataStartDate"] as String , "EndPoint": savedDataTransfer["ServiceDataAddressOfDel"] as String, "CommentText": savedDataTransfer["ServiceDataDetailedText"] as String, "StartPoint":savedDataTransfer["ServiceDataAddressOfReq"] as String ] ]//, "hourly": savedDataHourly, "custom": savedDataReis, "device_type":"ios"] ]
-
我知道这是乱码。但它也不起作用
-
我想
singleStructdata.*项目之一确实不是 json 可转换的。使用NSJSONSerialization.isValidJSONObject分别尝试这些方法,您就会找到罪魁祸首。