小编smu*_*uka的帖子

Swift Codable 嵌套 json 作为字符串

我用于后端调用的服务返回所有这些 json 结构:

{
    "status" : "OK",
    "payload" : **something**
}
Run Code Online (Sandbox Code Playgroud)

哪里的东西可以是一个简单的字符串:

{
    "status" : "OK",
    "payload" : "nothing changed"
}
Run Code Online (Sandbox Code Playgroud)

或嵌套的 json(具有任何属性的任何 json),例如:

{
    "status" : "OK",
    "payload" : {
                    "someInt" : 2,
                    "someString" : "hi",
                    ...
                }
}
Run Code Online (Sandbox Code Playgroud)

这是我的结构:

struct GenericResponseModel: Codable {

    let status:String?
    let payload:String?
}
Run Code Online (Sandbox Code Playgroud)

我想始终将“有效负载”解码为字符串。因此,在第二种情况下,我希望“GenericResponseModel”的有效负载属性包含该字段的 json 字符串,但是如果我尝试解码该响应,则会收到错误消息:

Type 'String' mismatch: Expected to decode String but found a dictionary instead
Run Code Online (Sandbox Code Playgroud)

可以存档我想要的吗?

非常感谢

json swift swift4 codable

5
推荐指数
1
解决办法
1604
查看次数

MPAndroidChart:XAxis 值与数据值不对应

我在使用 MPAndroidChart 时遇到问题:我有一些条目数据要显示在条形图中,但 xaxis 标签没有显示在我想要的位置:我想立即在“条形图”下为每个图表值显示一个.

这就是现在正在发生的事情:

在此处输入图片说明

这是我的代码:

    ArrayList<BarEntry> entries1 = my entries...;
    final ArrayList<String> stringList1 = my strings...;

    XAxis xAxis1 = chartCost.getXAxis();
    xAxis1.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis1.setDrawGridLines(false);
    xAxis1.setCenterAxisLabels(true);
    /*
    xAxis1.setValueFormatter(new IAxisValueFormatter() {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            return stringList1.get((int)value);
        }
    });
    */

    BarDataSet set = new BarDataSet(entries1, "myData");
    BarData data = new BarData(set);
    chartCost.setData(data);
    chartCost.setFitBars(true);
    chartCost.invalidate();
Run Code Online (Sandbox Code Playgroud)

entry1 和 stringList1 被正确填充。下面是一个例子:

- x: 0, y: 22,90
- x: 1, y: 21,53
- x: 2, y: 18,49
Run Code Online (Sandbox Code Playgroud)

如果我对 IAxisValueFormatter 进行注释,则浮点值与我的条目的 x 值不对应,但是,如您所见,都是十进制值! …

android mpandroidchart

4
推荐指数
1
解决办法
1125
查看次数

在Swift中打印有关解码的DecodingError详细信息失败

我开始重写应用程序,我想使用Swift 4 Codable协议自动将json字符串转换为Objects and Structs。

有时,特别是在编码开始时,我遇到了解码问题,因此我想打印这些错误(不使用调试器),以防某些Bean无法正确解码。

问题是这样的:

在此处输入图片说明

如您所见,在调试器中,“ decodingError”对象上同时存在两种:

  • 出现问题的密钥(NominativoModel.denNome)
  • 遇到的错误(预期对数组bla bla bla进行编码...)。

我的问题是,代码中该元素的唯一属性是errorDescription,failureReason等,均为nil。

如何打印在调试器中正确显示的值?

ios swift swift4 codable

4
推荐指数
2
解决办法
1618
查看次数

标签 统计

codable ×2

swift ×2

swift4 ×2

android ×1

ios ×1

json ×1

mpandroidchart ×1