@Anu:首先,我不认为你指定的字符串 "{hello:'there'} {goodbye:'you',Thanks:'you'}" 是正确的 Json 字符串。
应该是这样才能正确反序列化
{"Arrival":{"Hello":"there"},"Departure":{"GoodBye":"you","Thanks":"you"}}。
请看下面的示例以了解正确的结构:
//需要安装Json.Net并使用如下图:
using Newtonsoft.Json;
//序列化和反序列化的对象:
public class Greeting
{
public Arrival Arrival { get; set; }
public Departure Departure { get; set; }
}
public class Arrival
{
public string Hello { get; set; }
}
public class Departure
{
public string GoodBye { get; set; }
public string Thanks { get; set; }
}
//填充Getting Object C#方式
var greeting = new Greeting
{
Arrival = new Arrival { Hello = "there" },
Departure = new Departure { GoodBye = "you", Thanks = "you" }
};
//将C#对象序列化为Json
var jsonString = JsonConvert.SerializeObject(new
{
Arrival = new
{
greeting.Arrival.Hello
},
Departure = new { greeting.Departure.GoodBye, greeting.Departure.Thanks }
});
//产生这个Json字符串:{"Arrival":{"Hello":"there"},"Departure":{"GoodBye":"you","Thanks":"you"} }
//将Json字符串转回C#对象——反序列化对象
var greeting1 = (Greeting)JsonConvert.DeserializeObject(jsonString, typeof(Greeting));
希望这有助于并回答您的问题。
祝你好运!