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

时间:2019-06-24 06:49:57

标签: c# arrays json json.net

我是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);

2 个答案:

答案 0 :(得分:0)

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

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

有关更多信息,您可以阅读Try the new System.Text.Json APIs

答案 1 :(得分:0)

如果您使用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();
    }
}

结果:

enter image description here