字符串中 有的是 "inventor":{
"@sequence": "1",
"@data-format": "epodoc",
"inventor-name": {"name": {"$": "MORIGUCHI KAZUTOYO [JP]"}}
}
有的是"inventor":
[ {
"@sequence": "1",
"@data-format": "epodoc",
"inventor-name": {"name": {"$": "MORIGUCHI KAZUTOYO [JP]"}}
},
{.......},
{.......},
{......}]
我定义的类是[DataContract]
public class Inventors
{
[DataMember(Name = @"inventor")]
public Inventor[] inventor { get; set; }
} [DataContract]
public class Inventor
{
[DataMember(Name = @"sequence")]
public string senquence { get; set; }
[DataMember(Name = @"data-format")]
public string dataformat { get; set; }
[DataMember(Name = @"inventor-name")]
public InventorName inventorname { get; set; }
}问题:如果字符串中是数组 "inventor":[] 就可以反序列化到类中 如果字符串中只有一个"inventor":{} 就获取不到了 怎样能自适应呢?或者有其他的办法吗 希望高手指点一下
"@sequence": "1",
"@data-format": "epodoc",
"inventor-name": {"name": {"$": "MORIGUCHI KAZUTOYO [JP]"}}
}
有的是"inventor":
[ {
"@sequence": "1",
"@data-format": "epodoc",
"inventor-name": {"name": {"$": "MORIGUCHI KAZUTOYO [JP]"}}
},
{.......},
{.......},
{......}]
我定义的类是[DataContract]
public class Inventors
{
[DataMember(Name = @"inventor")]
public Inventor[] inventor { get; set; }
} [DataContract]
public class Inventor
{
[DataMember(Name = @"sequence")]
public string senquence { get; set; }
[DataMember(Name = @"data-format")]
public string dataformat { get; set; }
[DataMember(Name = @"inventor-name")]
public InventorName inventorname { get; set; }
}问题:如果字符串中是数组 "inventor":[] 就可以反序列化到类中 如果字符串中只有一个"inventor":{} 就获取不到了 怎样能自适应呢?或者有其他的办法吗 希望高手指点一下
解决方案 »
- 请教高手C# 动态程序集问题
- Linq 插入数据的问题
- 今天去面试突然问我问题很令我郁闷
- c# windows程序如何实现发手机短信息
- [C#]文字转换成中英文语音,请高手提供源代码.详细点哦.
- 这样的代理(委托)如何用?
- 是否每绑定一次DataSet到DataGrid,就需要再增加一次DataGrid里的TableStyle呢?
- 用C#在windows客户端中调用Com+组件时,实例时如何指定服务器名称(ServerName)?
- 哪位大哥有用C#調用手寫筆的經驗﹐小弟出血本了﹐不夠再加
- 如何确定Datagrid中的每一个数据?使它能返回到一个文本框中?(winform)
- 爬虫遇到403问题
- Winfrom pictureBox怎么让图片自动滚动起来。求代码
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Newtonsoft.Json;
using System.Net;
class Program
{
static void Main(string[] args)
{
//string s=Encoding.UTF8.GetString(("\x00ad\x00d0\x00a5\x00cf\x008d\x00a9"));
Stream s; s.Read();
//序列化
TextWriter tw=new StringWriter();
JsonWriter writer=new JsonTextWriter(tw);
(new JsonSerializer()).Serialize(writer,new AA());
string jsonText2 = tw.ToString();
Console.WriteLine(jsonText2); //反序列化
JsonReader reader = new JsonTextReader(new StringReader(jsonText2));
AA aa=(AA)(new JsonSerializer()).Deserialize(reader,typeof(AA)); Console.Read();
}
}
class AA
{
public AA()
{
dic.Add("aaa",111);
dic.Add("bbb", 222);
dic.Add("ccc", 333);
}
public obj2 obj22=new obj2();
public obj2[] list = new obj2[2] {new obj2(),new obj2()};
public Dictionary<string, int> dic = new Dictionary<string, int>();
string a="1";
public string b = "1";
public string c = "1";
public string aa
{
get {
return a;
}
set
{
a = value;
}
}
}
class obj2
{
public string b = "2";
public string c = "2";
}