- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在从我的 API 读取数据时遇到问题。我可以在 Xcode 中看到我的 API 中的所有数据。
这是我要解析的数据。
"data": {
"id": "2f464c52-81a5-4b2d-9d08-21baf10134bd",
"type": "player",
"metadata": {
"statsCategoryOrder": [
"levels",
"combat",
"game",
"bullets",
"ekia-enemy-killed-in-action",
"objective",
"team-play",
"extra"
],
"platformId": 1,
"platformUserHandle": "BarMexico67",
"accountId": "2f464c52-81a5-4b2d-9d08-21baf10134bd",
"cacheExpireDate": "10/31/2018 1:45:55 AM"
},
"stats": [
{
"metadata": {
"key": "level",
"name": "Level",
"categoryKey": "levels",
"categoryName": "Levels",
"isReversed": false,
"iconUrl": "https://cod-cdn.tracker.gg/assets/ranks/rank_6.png"
},
"value": 6.0,
"percentile": 92.0,
"displayValue": "6"
},
{
"metadata": {
"key": "KDRatio",
"name": "KD Ratio",
"categoryKey": "combat",
"categoryName": "Combat",
"isReversed": false
},
"value": 0.39,
"percentile": 96.0,
"displayValue": "0.39",
"displayRank": ""
},
我正在尝试获取 Level 和 KD Ratio 的值并将其放置在标签上。
但是,我收到错误“keyNotFound(CodingKeys(stringValue: "stats", intValue: nil)
这是我当前的代码。任何帮助都会很棒。
struct Data: Decodable {
let id: String?
let type: String?
let stats: [Stats]
}
struct Stats: Decodable {
let name: String?
let categoryName: String?
let displayValue: Int?
let value: Int?
}
class StatTrackerVC: UIViewController {
@IBOutlet weak var accountNameLabel: UILabel!
let blackOps4TrackerNetworkAPI = "4db06ff7-4499-494d-8d75-93a9b38292a3"
let urlString = URL(string: "https://cod-api.tracker.gg/v1/standard/bo4/profile/1/BarMexico67")
override func viewDidLoad() {
super.viewDidLoad()
let jsonUrlString = "https://cod-api.tracker.gg/v1/standard/bo4/profile/1/BarMexico67"
guard let url = URL(string: jsonUrlString) else
{ return }
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue(blackOps4TrackerNetworkAPI, forHTTPHeaderField: "TRN-Api-Key")
URLSession.shared.dataTask(with: request) { (data, response, err) in
//Perhaps Check Err
//Check Response Status 200 OK
guard let data = data else { return }
// let dataAsString = String(data: data, encoding: .utf8)
// print(dataAsString!)
do {
let stats = try JSONDecoder().decode(Data.self, from: data)
print(stats)
} catch let jsonErr {
print("Error Serializing JSON:", jsonErr)
}
}.resume()
}
最佳答案
实际上 stats
对象不在 data
对象中,而是它们处于同一级别。所以,stats
数组不应该在 Data
类型中。同样在 stat 对象中,metaData
是一个子对象,它具有 key
、categoryKey
、categoryName
等键,而 value
、percentile
和 displayValue
是 stat
对象的一部分。可解码类型的正确实现如下,
struct TrackerResponse: Decodable {
let data: StatData?
let stats: [Stat]?
}
struct StatData: Decodable {
let id: String?
let type: String?
let accountId: String?
let platformId: Int?
}
struct Stat: Decodable {
let value: Int?
let metadata: StatMeta?
let percentile: Int?
let displayValue: String?
}
struct StatMeta: Decodable {
let key: String?
let name: String?
let categoryKey: String?
let categoryName: String?
}
所以,现在你应该解码
TrackerResponse
,如下所示,
do {
print(String(data: data, encoding: .utf8))
let response = try JSONDecoder().decode(TrackerResponse.self, from: data)
print(response.data?.id)
} catch let jsonErr {
print("Error Serializing JSON:", jsonErr)
}
关于ios - 来自 Tracker Network API (SWIFT) 的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53075777/
我正在制作一个简单的跳棋游戏并设置了网格系统,我只想开始设置下面类中显示的参数; #include #include using namespace std; class Tracker { pr
我使用的是 Arch Linux,内核 3.16。 从上周开始,我的两个进程 tracker-extract 和 tracker-store 占用了过多的内存。导致系统每 2 小时挂起一次。 trac
我在单个节点上安装了 hadoop。我使用的操作系统是 Ubuntu。我已经非常成功地为 1st 创建了一个 hduser。当我删除现有的 hduser 并在同一系统中创建一个新的 hduser 时,
在我的 hadoop 安装中,我没有找到 mapred-site.xml 文件,但它有 mapred-site.xml.template。 我已将以下属性添加到 mapred.xml.template
我是hadoop的新手,所以我有一些疑问。如果主节点发生故障,hadoop 集群会发生什么?我们能否在没有任何损失的情况下恢复该节点?是否可以保留一个辅助主节点在当前主节点发生故障时自动切换为主节点?
我已将其发布为issue on GitHub opencv_contrib,但尚未回复。 系统信息(版本) OpenCV => 4.2.0 操作系统/平台=> Windows 10,64位 编译器=>
我正在 laravel 5.2 中安装 Laravel Stats Tracker,并添加我的提供者和门面,设置我的中间件文件、kernel.php 和 config/database.php 文件。
我遇到与Tracker相关的问题。 [InvalidOperationException: Tracker.Current is not initialized] Sitecore.Analyt
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 7年前关
iOS 上的 Xcode VM Tracker 检测工具中的“交换大小”是什么? iOS 10 有交换功能吗? 最佳答案 它指的是压缩内存,这是iOS处理未使用页面的方式。来源:https://dev
看Tracker.autorun ,这主要是神奇的......但我想知道它如何决定哪些变量将形成计算的依赖关系。它只挑选出“ react 性”变量,例如以下内容: window.bar = 1
我正在使用 Template.onCreated 创建一些模板,然后使用 Tracker.autorun 进行一些订阅,然后从服务器收集数据并将它们存储在客户端的 MiniMongo 上。 然后,我可
我有这样一个 Meteor 应用程序示例: import React from 'react'; import { Meteor } from 'meteor/meteor'; import { re
我有一个已经存在多年的开源 gps 跟踪应用程序。最近,我一直在提示,在 android nougat 中,人们不是每分钟获取一次更新,而是当手机拔下时每五分钟从手机获取一次更新. 尽管我们尝试将其关
我一直在尝试测试新的 Vision API,并让多跟踪器应用在 Android Studio 中运行。 我在手机上运行示例应用程序,但无法检测到任何条形码。我已经测试了 ISBN 码、QR 码和人脸。
我在 mapred-site.xml 中做了一些条目,要选择这些更改,我需要重新启动在集群节点上运行的 TT 和 JT。 我可以从命令行使用云时代管理器 Web 服务重新启动它们吗?因此,我可以在任何
我在足球视频中遇到了一些与 SORT 跟踪器(卡尔曼滤波器和匈牙利算法的组合)与 YOLO v3 相结合相关的问题。正如主论文中也提到的,SORT 在身份切换方面遭受了很多损失(换句话说,即使跟踪对象
我想使用 SDK v4 在 Google Analytics(分析)中设置用户范围维度。该维度的值在运行时永远不会改变。 当我创建维度 following this instructions 时该页面
本文整理了Java中org.linkedin.zookeeper.tracker.ZooKeeperTreeTracker类的一些代码示例,展示了ZooKeeperTreeTracker类的具体用法。
尝试在 Tracker 中将文件(图像)附加到工件上时出现错误: 2018/07/11 13:16:04 [error] 3553#0: *1299 FastCGI sent in stderr: "
我是一名优秀的程序员,十分优秀!