我正在使用.NET Framework 3.5的C#进行编码。
我试图解析一些Json到一个JObject中。
以下是Json:
{
"TBox": {
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 },
"TBox": {
"Name": "MedBox",
"Length": 5,
"Width": 10,
"Height": 10 },
"TBox": {
"Name": "LargeBox",
"Length": 20,
"Width": 20,
"Height": 10 }
}
当我尝试将此Json解析为JObject时,JObject仅知道LargeBox的信息。SmallBox和MedBox的信息丢失了。显然,这是因为它将“TBox”解释为属性,并且该属性被覆盖了。
我从用Delphi编写的服务中接收到此Json。我正在尝试为该服务创建C#代理。在Delphi方面,“TBox”被理解为返回的对象的类型。然后,内部属性(“Name”,“Length”,“Width”,“Height”)被视为常规属性。
我可以序列化和反序列化具有名称,长度,宽度和高度属性的自定义'TBox'对象。那很好。
我想做的是以一种能够提取以下三个Json字符串的方式遍历所有TBox部分。
{
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 }
第二点:
{
"Name": "MedBox"
"Length": 5,
"Width": 10,
"Height": 10 }
第三点:
{
"Name": "LargeBox"
"Length": 20,
"Width": 20,
"Height": 10 }
一旦我有了这些字符串,我可以随心所欲地进行序列化和反序列化。
我发现Newtonsoft.Json非常好用。如果可以避免的话,我真的不想去破坏其他框架。
任何帮助都将不胜感激。
对于服务器可以做出的更改,我的输入非常有限。