python - Swift,如何从 Pandas JSON 文件导入 JSON 文件

标签 python ios swift pandas

我从 Pandas 导出了 JSON 文件, 我想从 Swift/iOS 导入 JSON 文件。

可编码协议(protocol)的结构是正确的。

我尝试使用 SWIFTYJSON,但也发生了同样的错误。

这是 pandas 代码。

shops.to_json("sample.json", orient='records', force_ascii=False, lines=True)

我写了这样的代码

struct Restaurant: Codable {

let url: String
let name: String
let address: String
let pref: String
let zip: String
let tel: String
let latitude: Float
let longitude:Float
let price: String
let category: String
let rate: Float
let moyori: String
let transportation: String
let hours: String
let holiday: String
let website: String

}



guard let path = Bundle.main.path(forResource: "sample", ofType: "json") else { return }
    let url = URL(fileURLWithPath: path)
    do {
        let data = try Data(contentsOf: url)
        print(data)
        let restaurant = try JSONDecoder().decode(Restaurant.self, from: data)
        // SWIFTY JSON

        //let json = try JSON(data: data)
        print(restaurant)
    } catch  {
        print(error)
    }

错误如下

dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." UserInfo={NSDebugDescription=Garbage at end.})))

这是 JSON 示例

{"address":"港区赤坂1-11-6 赤坂テラスハウス 1階","category":"割烹・小料理","holiday":"日曜、祝日(詳細は公式HPのカレンダーに記載)","hours":"12:00~15:00(L.O.13:00)(木・土のみ営業)18:00~22:00(L.O.20:00)","latitude":35.6642294444,"longitude":139.7455658333,"moyori":"六本木一丁目","name":"sample restaurant2","pref":"東京都","price":"¥30,000~","rate":"4.88","url":"http://www.sample1.com","tel":"03-0000-0000","transportation":"東京メトロ 銀座線・南北線「溜池山王駅」13出口より、徒歩10分東京メトロ 南北線「六本木一丁目駅」3出口より、徒歩10分東京メトロ 日比谷線「神谷町駅」4b出口より、徒歩10分\n六本木一丁目駅から411m","website":"http://www.sample1.com","zip":"1070052"}
{"address":"港区六本木1-4-5 アークヒルズサウスタワー 1F","category":"寿司","holiday":"日曜・祝日(但し、連休にならない祝日は除く)","hours":"12:00~14:0017:00~23:00","latitude":35.6621280556,"longitude":139.7426308333,"moyori":"溜池山王","name":"sample restarurant2","pref":"東京都","price":"¥20,000~¥29,999","rate":"4.86","url":"http://www.sample.com","tel":"03-3589-4412","transportation":"溜池山王駅徒歩5分虎ノ門駅徒歩8分\n六本木一丁目駅から60m","website":"","zip":"1060032"}

我也像这个 jsonfile 一样进行了测试

   [{"address":"港区赤坂1-11-6 赤坂テラスハウス 1階","category":"割烹・小料理","holiday":"日曜、祝日(詳細は公式HPのカレンダーに記載)","hours":"12:00~15:00(L.O.13:00)(木・土のみ営業)18:00~22:00(L.O.20:00)","latitude":35.6642294444,"longitude":139.7455658333,"moyori":"六本木一丁目","name":"sample restaurant2","pref":"東京都","price":"¥30,000~","rate":"4.88","url":"http://www.sample1.com","tel":"03-0000-0000","transportation":"東京メトロ 銀座線・南北線「溜池山王駅」13出口より、徒歩10分東京メトロ 南北線「六本木一丁目駅」3出口より、徒歩10分東京メトロ 日比谷線「神谷町駅」4b出口より、徒歩10分\n六本木一丁目駅から411m","website":"http://www.sample1.com","zip":"1070052"},{"address":"港区六本木1-4-5 アークヒルズサウスタワー 1F","category":"寿司","holiday":"日曜・祝日(但し、連休にならない祝日は除く)","hours":"12:00~14:0017:00~23:00","latitude":35.6621280556,"longitude":139.7426308333,"moyori":"溜池山王","name":"sample restarurant2","pref":"東京都","price":"¥20,000~¥29,999","rate":"4.86","url":"http://www.sample.com","tel":"03-3589-4412","transportation":"溜池山王駅徒歩5分虎ノ門駅徒歩8分\n六本木一丁目駅から60m","website":"","zip":"1060032"}]

错误是这样的

typeMismatch(Swift.Dictionary<Swift.String, Any>, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Dictionary<String, Any> but found an array instead.", underlyingError: nil))
enter code here

最佳答案

struct Tabelog: Codable {

let url: String
let name: String
let address: String
let pref: String
let zip: String
let tel: String
let latitude: Float
let longitude:Float
let price: String
let category: String
let rate: String
let moyori: String
let transportation: String
let hours: String
let holiday: String
let website: String

}

正确,类型错误。 谢谢。

关于python - Swift,如何从 Pandas JSON 文件导入 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49596256/

相关文章:

python - 将数据库数据从 DEV 移动到 PRODUCTION,最佳实践?

python - 扩展 pandas DataFrame 列中的整数范围

ios - 更新时自定义注释不会在 map View 上更新

ios - 如何在 UITableView 的附件 View 中添加多个按钮?

ios - 如何快速删除标记的 "trace"

python - 在 python 中使用 xml 测试运行程序时出现脚本错误

Python 记录器不遵守设置的级别

ios - 在 Pod 更新后将事件插入日历时,Google Calendar API 会出现 404 错误。

swift - 如何在 NEVPNManager 中 stub 连接属性(NEVPNConnection)?

ios - NSKeyedArchiver 并在目标之间共享自定义类