繁体   English   中英

将简单的json转换为c#中的字符串数组

[英]Convert simple json to string array in c#

我是 C# REST API 的新手……我只是将 JSON 转换为字符串数组

这是我的 JSON

[{"Id":1000,"Name":"May","Address":"Atlanda","Country":"USA","Phone":12345}}

像下面的代码一样转换数组

string[] details={1000,May,Atlanda,USA,12345};

帮我解决这个问题

我的代码

 public class details
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Address { get; set; }
            public string Country { get; set; }
            public int Phone { get; set; }
      }

这是我的课

          var client = new RestClient("http://localhost:3000/customer/1000");
            var request = new RestRequest(Method.GET);
            IRestResponse response = client.Execute(request);
            string json = new JavaScriptSerializer().Serialize(response.Content);

您可以使用新的System.Text.Json API 将response.Content反序列化为details类,如下所示

JsonSerializer.Parse<details>(response.Content);

有关更多信息,您可以阅读尝试新的 System.Text.Json APIs

如果您使用 JSON.NET,它肯定会让您更轻松。 我的回答使用 JSON.NET:

string str = "[{\"Id\":1000,\"Name\":\"May\",\"Address\":\"Atlanda\",\"Country\":\"USA\",\"Phone\":12345}]";

var listOfDetails = JsonConvert.DeserializeObject<List<details>>(str);
foreach (var detail in listOfDetails)
{
    var arr = detail.ToArr();
}

以下是details类:

public class details
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string Country { get; set; }
    public int Phone { get; set; }

    public string[] ToArr()
    {
        List<string> list = new List<string> { Id.ToString(), Name, Address, Country, Phone.ToString() };
        return list.ToArray();
    }
}

结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM