NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

Swift3でJSONに変換 #717

Open ghost opened 7 years ago

ghost commented 7 years ago
let query = NCMBQuery(className: "CurrentSoji_Hiend")
      query?.whereKey("Name", equalTo: "Test")
        query?.findObjectsInBackground({(objects, error) in
            if (error != nil){
                // 検索失敗時の処理
                print("検索に失敗しました")
            }else{
                // 検索成功時の処理
                print(objects! as! [NCMBObject]) // (例)検索結果を表示する
                print("検索完了")
                let rawdata = objects! as! [NCMBObject]
                let data = NCMBObject.convertToJSON(rawdata)
                print(data) 
                }
        })

このようなプログラムを作りましたが「Instance member 'convertToJSON' cannot be used on type 'NCMBObject'; did you mean to use a value of this type instead?」と出てしまい、使えません そもそもrawdataがNCMBObjectとしてちゃんと入っているのかが分からないというところです・・・

一応、print(data)では、検索の結果が全て表示されていました

[{
  "createDate" : {
    "__type" : "Date",
    "iso" : "2017-05-11T03:56:44.342Z"
  },
  "acl" : {
    "*" : {
      "write" : true,
      "read" : true
    }
  },
  "objectId" : "z0d00WomjQeqiSK6",
  "Name" : "Test",
  "updateDate" : {
    "__type" : "Date",
    "iso" : "2017-05-11T03:56:44.343Z"
  }
}]

どのようにしたらJSONに変換できるでしょうか・・・?

DaichiSaito commented 7 years ago

rawdataが配列だからではないでしょうか。 なのでrawdata配列からNCMBObjectを一件ずつ取り出して、convertToJSONしてみたらどうでしょう。