[英]Swift parse object to JSON object
我正在使用 shopify iOS SDK(mobile-buy-sdk-ios) 在本機反應中獲取登錄用戶的訂單。 這是我的代碼,
let query = Storefront.buildQuery { $0
.customer(customerAccessToken: token) { $0
.orders(first: count, reverse: true) { $0
.edges { $0
.node { $0
.id()
.orderNumber()
.totalPrice()
.statusUrl()
.lineItems(first: 25){ $0
.edges{ $0
.node{ $0
.title()
.quantity()
.variant{ $0
.id()
.price()
.title()
.image{ $0
.originalSrc()
}
}
}
}
}
let task = self.client.queryGraphWith(query, cachePolicy: .networkOnly) { response, error in
error.debugUserPrint()
let userOrders = response.customer?.orders.edges[0].node;
let res = try! JSONSerialization.data(withJSONObject: userOrders)
completion([res])
}
我在userOrders變量中得到了這個響應
<QueryRoot: ["customer": {
orders = {
edges = (
{
node = {
id = "Z2lkOi8vc2hvcGlmeS9PcmRlci8yMjY2NTM3NzU0NzEwP2tleT0zNWFiYzBkMjRmMDk3MjZlYzgzYjkwZDVlZGI5YjM4MA==";
lineItems = {
edges = (
{
node = {
quantity = 1;
title = "Gift wrapping";
variant = {
id = "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8xMjE3MzkzNjYyMzcwMg==";
image = {
originalSrc = "https://cdn.shopify.com/s/files/1/2331/3377/products/Gift_Boxes_11_22_2017_Standard_1024x1024_60d01a1c-f665-4c9e-b80b-f6fda9167de3.jpg?v=1521444032";
};
price = "10.00";
title = "Default Title";
};
};
}
);
};
orderNumber = 1040;
statusUrl = "23313377/orders/11f378e7df2731521429f377015d2ec2/authenticate?key=35abc0d24f09726ec83b90d5edb9b380";
totalPrice = "10.00";
};
}
);
};
}]>)
this formate, so try to parse this data to JSON object to pass data from iOS function to javascript function. 我努力了
JSONSerialization.data(withJSONObject: userOrders)
但它不工作。 我只想將這些數據解析為 JSON。 我也嘗試了許多其他方法,但沒有運氣。
謝謝。
它們是我能想到的多種方式...
Alamofire.request("http://feeds.news24.com/articles/Fin24/Tech/rss").responseJSON { json in
/// do what you want with your json
}
let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
//Now you got your value
}
我認為沒有直接的方法可以使用 mobile-buy-sdk 獲得 JSON。 但是,您可以將響應轉換為 JSON
if let data = try? JSONSerialization.data(withJSONObject: userOrders.fields, options: .prettyPrinted) {
print(String(data: data, encoding: .utf8))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.