C# 在c中序列化类#
我希望有人能帮我解决将数据序列化到类中的问题,好吗 我需要将以下json字符串发送到Web服务: “{”到达“:”2012-12-24T20:00:00.0000000 Z“,”皮卡“:{”街道名“:”阿马列加德“,”门牌号“:”36“,”zipCode“,”1256“,”城市“,”哥本哈根K“,”国家“,”DK“,”lat“:”55.68,“lng“,”12.59}”,下车“{”街道名“:”阿马列加德“,”门牌号“,”36“,”zipCode“,”1256“,”城市“,”哥本哈根K“,”国家“,”DK“,”lat“,”55.68“,”lng“,”12.59}”,车辆类型“:”“fourSeaterAny”,“评论”:“你好”}” 我将这个json字符串放入,它生成了以下类:C# 在c中序列化类#,c#,json,class,serialization,C#,Json,Class,Serialization,我希望有人能帮我解决将数据序列化到类中的问题,好吗 我需要将以下json字符串发送到Web服务: “{”到达“:”2012-12-24T20:00:00.0000000 Z“,”皮卡“:{”街道名“:”阿马列加德“,”门牌号“:”36“,”zipCode“,”1256“,”城市“,”哥本哈根K“,”国家“,”DK“,”lat“:”55.68,“lng“,”12.59}”,下车“{”街道名“:”阿马列加德“,”门牌号“,”36“,”zipCode“,”1256“,”城市“,”哥本哈根K“,”国家“
public class Pickup
{
public string streetName { get; set; }
public string houseNumber { get; set; }
public string zipCode { get; set; }
public string city { get; set; }
public string country { get; set; }
public double lat { get; set; }
public double lng { get; set; }
}
public class Dropoff
{
public string streetName { get; set; }
public string houseNumber { get; set; }
public string zipCode { get; set; }
public string city { get; set; }
public string country { get; set; }
public double lat { get; set; }
public double lng { get; set; }
}
public class RootObject
{
public string arrivalAt { get; set; }
public Pickup pickup { get; set; }
public Dropoff dropoff { get; set; }
public string vehicleType { get; set; }
public string comments { get; set; }
}
我以前试过这样做,但从来没有遇到过这样的情况:一个类中有一个类,可以说。意思是“上一个”和“下一个”设置
当我想在这条线上做些什么时,我被卡住了
Booking bookingdetails = new ClickATaxi_Classes.Booking(THIS IS WHERE I WILL PUT THE 17 BITS OF INFORMATION BUT HOW?);
我觉得我需要对这个类做一些事情,让它接受参数,但我不知道从哪里开始,以及如何发送取货信息
有人能帮忙吗
谢谢。您需要一个JSON序列化程序。只需选择一个您喜欢的。列出的3个都很好。请确保阅读以更好地理解为什么需要JSON序列化程序。首先,您应该稍微重构生成的代码
public class Location
{
public string streetName { get; set; }
public string houseNumber { get; set; }
public string zipCode { get; set; }
public string city { get; set; }
public string country { get; set; }
public double lat { get; set; }
public double lng { get; set; }
}
public class Booking
{
public string arrivalAt { get; set; }
public Location pickup { get; set; }
public Location dropoff { get; set; }
public string vehicleType { get; set; }
public string comments { get; set; }
}
不需要两个表示相同内容的类。之后,您只需实例化booking对象
Booking obj = new Booking { arrivalAt = "ARRIVAL", pickup = new Location { streetName = "", houseNumber = "" ... }, dropoff = new Location { streetName = "", houseNumber = "" ...}, vehicleType = "", comments = "" }
接下来,您将序列化为字符串,我喜欢,但您可以使用任何序列化程序。如果要使用JSON.NET,可以通过安装来安装它,然后将using语句添加到将序列化对象的类的顶部: 使用Newtonsoft.Json 最后,只需调用JsonConvert
string json = JsonConvert.SerializeObject(product);
以下是指向其他序列化程序的一些链接:
ISerializable
。为什么要创建两个属性完全相同的类?添加某种枚举来区分衰减和拾取,并将它们存储在一种类型中,不是更好的解决方案吗?