iOS-Невозможно преобразовать значение типа 'String' в ожидаемый тип аргумента 'Data' - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть данные JSON в виде строки, и я хочу декодировать эти данные в список объектов, но я получаю эту ошибку: «Невозможно преобразовать значение типа« Строка »в ожидаемый тип аргумента« Данные »»

это мой код:

struct DatabaseObject: Decodable{
    var CityNameL = ""
    var DBName = ""
    var DBNameID = 0
    var IDName = ""
}

func jsonToObject(json:String){


    do{
     let databases = try  JSONDecoder().decode(DatabaseObject.self,from: json)
    }catch let jsonErr {
     print(jsonErr)
    }
 }

это данные json:

[{"CityNameL":"Skeleton East","DBName":"SkeletonEAST","DBNameID":29,"IDName":"SKELETONEASTLOCAL"},{"CityNameL":"SKELETON DEMO/SKELETON DEMO","DBName":"SKELETONDEMO","DBNameID":30,"IDName":"SKELETONEASTDOT2"},{"CityNameL":"SKELETONPARAMS","DBName":"FFMSCENTRAL","DBNameID":31,"IDName":"FFMSCENTRALLOCAL"},{"CityNameL":"SKELECBM","DBName":"SKELETONFFMS","DBNameID":32,"IDName":"LOCAL"}]

так есть ли способ преобразовать строку в данные или есть другой способ ее расшифровки.

1 Ответ

0 голосов
/ 26 апреля 2018

Попробуйте преобразовать String json в Data

import Foundation

struct DatabaseObject: Decodable{
    var CityNameL : String
    var DBName  : String
    var DBNameID  : Int
    var IDName  : String
}


func jsonToObject(json:Data){
    do{
       // let somedata = Data(json.utf8)
       let databases = try  JSONDecoder().decode([DatabaseObject].self,from: json)
       print(databases)
    }catch let jsonErr {
     print(jsonErr)
    }
 }

let json = """
[{"CityNameL":"Skeleton East","DBName":"SkeletonEAST","DBNameID":29,"IDName":"SKELETONEASTLOCAL"},{"CityNameL":"SKELETON DEMO","DBName":"SKELETONDEMO","DBNameID":30,"IDName":"SKELETONEASTDOT2"},{"CityNameL":"SKELETONPARAMS","DBName":"FFMSCENTRAL","DBNameID":31,"IDName":"FFMSCENTRALLOCAL"},{"CityNameL":"SKELECBM","DBName":"SKELETONFFMS","DBNameID":32,"IDName":"LOCAL"}]
""".data(using: .utf8)! 
// our data in native (JSON) format
jsonToObject(json:json)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...