【问题标题】:How do I convert JSON to Array如何将 JSON 转换为数组
【发布时间】:2016-11-15 00:27:01
【问题描述】:

如果我有 JSON 字符串:

{"synonyms":["house","abode","appartment","condo","dwelling"]}

如何将它存储在一个数组中,以便在 C# 中它会是这个?

string[] synonyms = {"house","abode","appartment","condo","dwelling"};

我正在尝试使用 Newtonsoft.Json 库。

【问题讨论】:

    标签: c# arrays json string


    【解决方案1】:

    创建一个RootObject 类。

    public class RootObject
    {
        public List<string> synonyms { get; set; }
    }
    

    使用以下方法创建一个 RootObject:

    RootObject obj = JsonConvert.DeserializeObject&lt;RootObject&gt;(json);

    // Acessing synonyms property of obj
    List<string> syn = obj.synonyms; // call to Array if you want
    

    【讨论】:

    • @cookies 对于更复杂的 json 数据结构,您可以通过在此处复制和粘贴您的 json 为您创建 RootObject 类:json2csharp.com
    【解决方案2】:

    你可以这样做(不使用特定的类):

    JToken root = JToken.Parse(yourJsonStringHere);

    List&lt;string&gt; synonyms = root["synonyms"].ToObject&lt;List&lt;string&gt;&gt;();

    如有必要,您可以使用ToArray() 方法将列表转换为数组。

    【讨论】:

    • 感谢您提供替代解决方案,我将不得不尝试一下,但 Matthias 的解决方案可以满足我的需要。
    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2013-05-03
    • 2021-09-15
    • 1970-01-01
    • 2012-05-24
    • 2014-11-25
    相关资源
    最近更新 更多