我们必须在我们的Web应用程序中使用一个新的API,并且它们给出以下JSON响应。
我使用json2csharp创建了C#类;但是,它给其中的电子邮件和电话号码指定了无效的名称。
这是有效的JSON吗?如果是这样,您可以帮忙为此创建C#类吗?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
答案 0 :(得分:0)
首先,它是json有效格式,对于您下次不确定的地方,您可以在此网页上查看https://jsonlint.com/。
关于您的第二个问题,虽然它是有效的json格式...但它实际上不是有效的c#类。因为在变量名称中您拥有数字。那么实际上制作了这个json吗?
答案 1 :(得分:0)
从技术上讲,json是有效的,但是值被解释为属性名称。如果您想要这样的话:
self.footerView.alpha = 0
然后您的json必须看起来像这样:
public class EmailAddresses
{
public List<string> emailAddress { get; set; }
}
public class CustPhoneNumbers
{
public List<string> custPhoneNumber { get; set; }
}
public class Customer
{
public EmailAddresses emailAddresses { get; set; }
public CustPhoneNumbers custPhoneNumbers { get; set; }
public string custIDString { get; set; }
}
public class RootObject
{
public List<Customer> customer { get; set; }
}
答案 2 :(得分:0)
此JSON有效,但很奇怪。您将需要使用Dictionary<string, List<string>>
来处理电子邮件地址和电话号码,因为它们是JSON中的键而不是值。
这是您需要的类结构:
public class RootObject
{
public List<Customer> customer { get; set; }
}
public class Customer
{
public Dictionary<string, List<string>> emailAddress{ get; set; }
public Dictionary<string, List<string>> custPhone{ get; set; }
public string custIDString { get; set; }
}
将JSON反序列化为RootObject
类。
这是一个有效的演示:https://dotnetfiddle.net/ZhHKJf