【问题标题】:C# (Xamarin) How to write JSON to array?C# (Xamarin) 如何将 JSON 写入数组?
【发布时间】:2021-04-19 20:34:18
【问题描述】:

我有 JSON 格式的输出。

{
  "id": null,
  "kkt": [],
  "CallNumber": null,
  "CallDuration": null,
  "CallDurationFormat": "00:00:00",
  "CallDateTick": 0,
  "CallDate": "1970-01-01T00:00:00Z",
  "CallType": null,
  "CallDescription": "01/01/1970 12:00 a. m. -  | Duración: 00:00:00"
}

我想像这样将调用规范写入 kkt 数组:

{
  "id": null,
  "kkt": [
{

  "CallNumber": null,
  "CallDuration": null,
  "CallDurationFormat": "00:00:00",
  "CallDateTick": 0,
  "CallDate": "1970-01-01T00:00:00Z",
  "CallType": null,
  "CallDescription": "01/01/1970 12:00 a. m. -  | Duración: 00:00:00"

}
],
}

为了实现这一点,我创建了我想要序列化的类调用,但我不知道如何创建 List 以便规范在数组中。

有人知道我如何编写 List 或做其他事情来实现调用规范将在 kkt 数组中吗?

感谢您的建议!


类:

CallLogModel:https://pastebin.com/nLeLszW0

通话记录:https://pastebin.com/fvS6s4SQ

ICallLog:https://pastebin.com/tz2uxDXw

来电:https://pastebin.com/EWFgm2jx

LoadCallLog() 方法:https://pastebin.com/VATQnGG5

【问题讨论】:

  • 请在发帖前阅读How to Ask。相关代码应发布在问题的正文中,而不是作为外部网站的链接。
  • json2csharp.com 将从 json 数据集生成 C# 模型
  • 正如其他cmet所说,当问题中所有相关代码都可用时,回答您的问题要容易得多。根据我从您的问题中了解到的情况,您似乎正在使用 c# 属性并将它们序列化为 json,但您想将它们序列化为 json 数组。为此,您可以使用 Dictionary() 而不是 c# 属性。

标签: c# json xamarin


【解决方案1】:

尝试如下改变:

Calls模特:

public class Calls 
{

    public string id;
    public List<CallLogModel> kkt;
}

ICallLog接口:

public interface ICallLog
{
    List<CallLogModel> GetCallLogs();
}

然后在您的 LoadCallLog() 方法中,您需要将您查询的值添加到 Calls 模型中,例如:

var Logg = DependencyService.Get<ICallLog>().GetCallLogs();

if (!(Preferences.ContainsKey("GUID")))
   {
       Preferences.Set("GUID", App.newUser1);
   }
 var a = Preferences.Get("GUID", "hovno"); //if this is the id of Calls model
 Calls calls = new Calls();
 calls.id = a;
 calls.kkt = Logg;
 var serialized = JsonConvert.SerializeObject(calls);

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    相关资源
    最近更新 更多