2017-06-07 12 views
-3

JSONデータがあります。データは以下のようなもので、セグメント化されたコントロールを使用してJSONデータを分離することで、アクティブ状態とペンディング状態を含むセグメント化されたコントロールを作成しました。保留中の状態で保存するorder_status = 0(JSONデータ以下)の場合、アクティブ状態で保存するorder_status = 1の場合。セグメント化されたコントロールを使用してJSONデータを分割しました

JSONの解析方法は分かっていますが、セグメント化されたコントロールを使用してデータを分割する方法はわかりません。

{ 
    "status": "done", 
    "order_data": [{ 


     "price": "1000", 
     "qty": "1", 
     "total_price": "1000", 
     "voucher_id": "NIL", 
     "purchase_id": "1005", 
     "purchase_on": "NIL", 
     "validity": "30 days from the date of purchase", 
     "left_day": "NIL", 
     "order_status": 0 
    }, { 

     "price": "3000", 
     "qty": "1", 
     "total_price": "3000", 
     "voucher_id": "NIL", 
     "purchase_id": "10070", 
     "purchase_on": "NIL", 
     "validity": "30 days from the date of purchase", 
     "left_day": "NIL", 
     "order_status": 1 
    }, { 


     "price": "3000", 
     "qty": "1", 
     "total_price": "3000", 
     "voucher_id": "NIL", 
     "purchase_id": "1076767", 
     "purchase_on": "NIL", 
     "validity": "30 days from the date of purchase", 
     "left_day": "NIL", 
     "order_status": 1 
    }] 
} 
+0

2つの異なる配列を作成し、アクティブな状態値を1つの配列に格納し、保留状態の値を別の配列に格納します。 –

+0

jsonデータからデータを取得する方法、注文ステータス= 1の場合のみ – shiva

答えて

0

が、その後の両方を使用し、その後、最初にJSONデータを解析し、2つの辞書の配列、保留状態のデータ用とアクティブ状態データのための別のものを得る、あなたのデータはjsonDataという名前の変数であると仮定してみようセグメント制御のための辞書。

if let orderData = jsonData["order_data"] as? [[String:Any]] { 
let pendingStateData = orderData.filter({ (newOrder) -> Bool in 
    return (newOrder["order_status"] as? Int) == 0 
}) 

let activeStateData = orderData.filter({ (newOrder) -> Bool in 
    return (newOrder["order_status"] as? Int) == 1 
}) 
} 

このように、これらのフィルタを使用すると、データをフィルタリングして、目的のフィルタデータを得ることができます。

関連する問題