C# - 将第二个JSON字符串添加到现有类



我有一对看起来像这样的类:

public class Parent
{
    public int id { get; set; }
    public string name { get; set; }
    public List<Child> children { get; set; }
}
public class Child
{
    public int id { get; set; }
    public string name { get; set; }
}

为了填充父班,我进行了一个API调用,并选择了返回的JSON,看起来像这样:

json

{
 “parent”:{
   “id”:”123”,
   “name”:”parent name”,
   “child”:{
       “id”:”456″
   },
 }
}

c#

var parent = new JavaScriptSerializer().Deserialize<List<Parent>>(jsonString);

然后,我使用childid进行另一个API调用,该调用返回有关child的更多详细信息,我需要用来填充parent

{
 “child”:{
   “id”:”456”,
   “name”:”child name”
 }
}

如何使用child JSON字符串的数据填充Parent类的其余部分?

如果我正确理解,您所需要的只是向Parent.children中的每个偏爱孩子提出请求,然后用完整的儿童信息代替整个收藏:

var parents = new JavaScriptSerializer().Deserialize<List<Parent>>(jsonString);
foreach (var parent in parents) {
    var fullChildren = new List<Child>();
    foreach (var partialChild in parent.children) {
        var fullChild = GetChildJsonById(partialChild.id);
        fullChildren.Add(fullChild);
    }
    // just replace whole stuff
    parent.children = fullChildren;
}

我没有测试过,但是我可以肯定您可以做类似:

的事情
var child = new JavaScriptSerializer().Deserialize<Child>(jsonString);

假设您只想更新孩子课程,那么不应该有更多的事情。

这似乎效率低下,我不知道为什么第一个API调用中没有给出完整的子对象。

相关内容

  • 没有找到相关文章

最新更新