当前位置: 首页 > 面试题库 >

C#解析对象的JSON数组

莘钧
2023-03-14
问题内容

我有以下json格式的对象数组:

{"results":[{"SwiftCode":"","City":"","BankName":"Deutsche Bank","Bankkey":"10020030","Bankcountry":"DE"},{"SwiftCode":"","City":"10891 Berlin","BankName":"Commerzbank Berlin (West)","Bankkey":"10040000","Bankcountry":"DE"}]}

我想要得到的是object[]C#中的代码,其中一个对象包含一个json对象中的所有数据。问题是,我可以 使一个类与此对象喜欢这里的属性:

public class Result
{
    public int SwiftCode { get; set; }
    public string City { get; set; }
    //      .
    //      .
    public string Bankcountry { get; set; }
}

因为我每次都会得到不同的结果,但是我知道它总是一个对象数组。有人知道我如何设法取回一系列对象?

编辑

我必须通过将该对象传递给powershell WriteObject(results)。因此,输出仅应是中的对象array


问题答案:

像这样使用newtonsoft:

using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json.Linq;

class Program
{
    static void Main()
    {
        string json = "{'results':[{'SwiftCode':'','City':'','BankName':'Deutsche    Bank','Bankkey':'10020030','Bankcountry':'DE'},{'SwiftCode':'','City':'10891    Berlin','BankName':'Commerzbank Berlin (West)','Bankkey':'10040000','Bankcountry':'DE'}]}";

        var resultObjects = AllChildren(JObject.Parse(json))
            .First(c => c.Type == JTokenType.Array && c.Path.Contains("results"))
            .Children<JObject>();

        foreach (JObject result in resultObjects) {
            foreach (JProperty property in result.Properties()) {
                // do something with the property belonging to result
            }
        }
    }

    // recursively yield all children of json
    private static IEnumerable<JToken> AllChildren(JToken json)
    {
        foreach (var c in json.Children()) {
            yield return c;
            foreach (var cc in AllChildren(c)) {
                yield return cc;
            }
        }
    }
}


 类似资料:
  • 问题内容: 我试图从JSON数组中获取每个JSON对象。我通过HTTP发布获得此数据。 我知道我的数据是什么样的: 我的示例代码和结构如下所示: 我不确定如何遍历JSON数组并获取JSON对象,然后仅使用JSON对象。 问题答案: 试试这个作为您的结构, 您的名称不正确,顶层名称也不正确。解码为a之后,您可以遍历切片以获取每个切片

  • 问题内容: 我正在尝试在此链接中使用示例 http://sharpdevpt.blogspot.com/2009/10/deserialize-json- on-c.html?showComment=1265045828773#c2497312518008004159 但是我的项目无法使用JavaScriptConvert.DeserializeObject进行编译,该示例说这是来自.net库,有

  • 问题内容: 我无法理解如何使用Visual .NET将JSON字符串解析为c#对象。任务很简单,但是我仍然迷路…我得到了这个字符串: 这是我尝试进行消毒的代码: 我不知道在’<’和’>’之间放置什么,从网上阅读的内容中,我必须为其创建一个新的类。另外,如何获得输出?一个例子会有所帮助! 问题答案: 创建一个可以反序列化您的JSON的新类,例如:

  • 问题内容: 我想知道如何解析NodeJS中的JSON对象数组? 我想将JSON数组发布到服务器,并能够将接收到的数组用作可靠的JavaScript数组。 提前致谢。 这是我要使用stringify函数将Array转换为String的前端部分 这是我尝试将JSON对象的Array转换为Array的后端部分 这是我要发送到服务器的数组: 这是源代码 问题答案: 在您的: 然后,您可以使用来获取过帐的值

  • 问题内容: 数组: 如何在C#中解析上述json响应 问题答案: 在您提供的字符串 不正确 的格式,该阵列应该是: 您可以使用将其转换: 该工具在nuget中也可用。 如果要使用强类型:

  • 问题内容: 我收到的JSON对象为: 它打印: 但现在我无法读取其中的任何内容。我如何获得“电子邮件”字段? 谢谢 问题答案: 您应该按照以下方式进行操作: 如果我没错的话。