我用于后端调用的服务返回所有这些 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)
可以存档我想要的吗?
非常感谢
我在使用 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 值不对应,但是,如您所见,都是十进制值! …
我开始重写应用程序,我想使用Swift 4 Codable协议自动将json字符串转换为Objects and Structs。
有时,特别是在编码开始时,我遇到了解码问题,因此我想打印这些错误(不使用调试器),以防某些Bean无法正确解码。
问题是这样的:
如您所见,在调试器中,“ decodingError”对象上同时存在两种:
我的问题是,代码中该元素的唯一属性是errorDescription,failureReason等,均为nil。
如何打印在调试器中正确显示的值?