我正在尝试将已编码的 json 数据编码为另一个 json 作为字符串元素。
首先,我使用 jsonEncoder 创建了一个 json 数据作为字符串,
现在我必须将该 json 数据(字符串)作为另一个 jsonEncoder 元素的元素发送。
到目前为止,我已经创建了这个。
我的第一个结构是
struct OrderDetailJSON: Encodable {
var allOrder: [AllOrder]
let TaxDetials: TaxDetail
init(allOrder: [AllOrder] = [AllOrder](), TaxDetials: TaxDetail) {
self.allOrder = allOrder
self.TaxDetials = TaxDetials
}
mutating func addOrder(orders allOrders: AllOrder){
allOrder.append(allOrders)
}
}
struct AllOrder: Encodable {
let date_time: String
let item: String
let name: String
let price: String
}
struct TaxDetail: Encodable {
let tax_per: String
let tax_name: String
}
我正在使用 json 编码器对此进行编码,
var jsonString = ""
var cartData = [CartDataModel]() `//My data Model`
do {
let taxex = TaxDetail(tax_per: defaults.string(forKey: "STORE_TAX")!, tax_name: defaults.string(forKey: "STORE_TAX_NAME")!)
var placeOrder = OrderDetailJSON(TaxDetials: taxex)
var allOre: AllOrder!
for item in cartData {
allOre = AllOrder(date_time: item.time, item: "\(item.quantity)", name: item.name, price: "\(item.price)")
placeOrder.addOrder(orders: allOre)
}
let jsonData = try JSONEncoder().encode(placeOrder)
jsonString = String(data: jsonData, encoding: .utf8)!
print(jsonString)
print(jsonData)
}catch{
print("Encode error...")
}
我得到的json输出是,
{
"TaxDetials": {
"tax_per": "5",
"tax_name": "CGST & SGST"
},
"allOrder": [
{
"date_time": "NA",
"name": "Manchurian",
"item": "2",
"price": "87"
},
{
"date_time": "NA",
"name": "Paneer Tikka",
"item": "3",
"price": "150"
},
{
"date_time": "NA",
"name": "snacks",
"item": "2",
"price": "54"
}
]
}
现在我必须将这个 json 数据作为另一个 json 的字符串元素发送,就像这样
struct OrderPlace: Encodable {
let apikey: String
let ord_store_name: String
let ord_amount: String
let cust_mob: String
let store_id: String
let order_details: String
}
do {
let orders = OrderPlace(apikey: "382dfc83", ord_store_name: storeName, ord_amount: "\(finalCartPrice)", cust_mob: defaults.getMobNo(), store_id: storeId, order_details: jsonString)
orderPlaceUrl.httpBody = try JSONEncoder().encode(orders)
}catch{
print("Encode error...")
}
它抛出 dataCorrupted 错误。但是,当我将 json 字符串从“”更改为“”时,我得到了邮递员内部的响应。
那么,我怎样才能将上面的json字符串(带有“”)转换为下面的json字符串(带有'')
{
'TaxDetials': {
'tax_per': '5',
'tax_name': 'CGST & SGST'
},
'allOrder': [
{
'date_time': 'NA',
'name': 'Manchurian',
'item': '2',
'price': '87'
},
{
'date_time': 'NA',
'name': 'Paneer Tikka',
'item': '3',
'price': '150'
},
{
'date_time': 'NA',
'name': 'snacks',
'item': '2',
'price': '54'
}
]
}
注意:如果有人需要更多信息,请发表评论。