有一个 JSON 字符串 如下:
{"ename":"className",
"children":
[{"ename":"name","type":"string"},{"ename":"age","type":"int"},
]
}
要实现读取这个字符串,然后转换成如下的一个类
public class className
{
public string name {get;set;}
public int age {get;set;}
}请问应该怎么做?请大家指点,感激不尽!
{"ename":"className",
"children":
[{"ename":"name","type":"string"},{"ename":"age","type":"int"},
]
}
要实现读取这个字符串,然后转换成如下的一个类
public class className
{
public string name {get;set;}
public int age {get;set;}
}请问应该怎么做?请大家指点,感激不尽!
解决方案 »
- ASP.NET和IIS高手都进来看看!已经N天没有解决问题了!急啊!!!!
- div始终显示在最顶端,ie上不能显示效果??
- 短信回复到网页上
- 弱弱的问,ASP.net2.0里面的CreateUserWizard以及其他的MemberShip相关的东东怎样使用?
- ASP.net多国语言的实现方法出错在哪儿?
- 自己写了一个分页控件,想添加这个控件的鼠标单击事件(详细见内 谢谢)
- 新手DataGrid分页问题。在线等,解决就散分100!
- 请教各位高手一个IFrame问题,弄了很久搞不定
- DataGrid1中显示数据库中的图片的问题??
- window.history的问题!
- asp.net3.5 listview 怎么样鼠标放在行上整行高亮显示 选择
- 如何自动导航到 TreeNode 的 NavigateUrl指定的URL
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return jsonString;
}T JsonDeserialize<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}我现在用的东西 供参考
/// Serialize object to string of json format
/// </summary>
private string JsonSerializer<T>(T t)
{
var ser = new DataContractJsonSerializer(typeof(T));
var ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return jsonString;
} /// <summary>
/// Deserialize string of json format to object
/// </summary>
private T JsonDeserialize<T>(string jsonString)
{
var ser = new DataContractJsonSerializer(typeof(T));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
var obj = (T)ser.ReadObject(ms);
return obj;
}
调用
CSharpCodeProvider
CompilerParameters
生成类
一个TXT文件中有如下内容
{"ename":"className",
"children":
[{"ename":"name","type":"string"},{"ename":"age","type":"int"},
]
}
然后写一个程序,读这个TXT文件,最后生成一个新的TXT文件,新的文件的内容是:
public class className
{
public string name {get;set;}
public int age {get;set;}
}----------------------------
请问:应该如何实现这个程序?请大家帮忙啊,本人菜鸟,又要急用。
#1楼已经把你要调用的类库贴出来了。反序列化只需要写一行var x= JsonDeserialize<ClassName>(str);就行了。
一楼的代码的功能是将一个JSON字符串转换成一个对象,但我不是要实现这个功能!!!
我的目的是:
根据给定的 JSON 字符串,通过程序生成 对应的 实体类的定义!我要的是实体类的定义,并不是这个实体类的一个实例对象!
而一楼代码是:在已经有了JSON 字符串、有了对应的实体类的定义 的前提下,将JSON字符串反序列化成实体类的一个实例对象。
不知道这样说还能不能让人明白,我的需求不是大家常规想象的那个需求!不知道这下大家明白没有。
http://jsonclassgenerator.codeplex.com/ ----开源的winform工具
http://json2csharp.com/---一款在线转化工具
我现在认为,如果会用恰当的关键字去搜索,就会发现,遇到的问题已经解决了。
唉,白忙活了这么久。
调用
CSharpCodeProvider
CompilerParameters
生成类