将json 字符串 转换成 类

landingf 2012-04-13 04:10:57
有一个 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;}
}

请问应该怎么做?请大家指点,感激不尽!

...全文
370 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
landingf 2012-04-14
  • 打赏
  • 举报
回复
原来已经有了这样的工具,
http://jsonclassgenerator.codeplex.com/ ----开源的winform工具
http://json2csharp.com/---一款在线转化工具
我现在认为,如果会用恰当的关键字去搜索,就会发现,遇到的问题已经解决了。
唉,白忙活了这么久。
landingf 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
“最后生成一个新的TXT文件,新的文件的内容是”

不知道这是搞什么?!
[/Quote]
看来你也没有明白我的意思。只有3楼明白我的意思!
一楼的代码的功能是将一个JSON字符串转换成一个对象,但我不是要实现这个功能!!!
我的目的是:
根据给定的 JSON 字符串,通过程序生成 对应的 实体类的定义!我要的是实体类的定义,并不是这个实体类的一个实例对象!
而一楼代码是:在已经有了JSON 字符串、有了对应的实体类的定义 的前提下,将JSON字符串反序列化成实体类的一个实例对象。
不知道这样说还能不能让人明白,我的需求不是大家常规想象的那个需求!不知道这下大家明白没有。
  • 打赏
  • 举报
回复
“最后生成一个新的TXT文件,新的文件的内容是”

不知道这是搞什么?!
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
请问:应该如何实现这个程序?请大家帮忙啊,本人菜鸟,又要急用。
[/Quote]

#1楼已经把你要调用的类库贴出来了。反序列化只需要写一行
var x= JsonDeserialize<ClassName>(str);
就行了。
landingf 2012-04-14
  • 打赏
  • 举报
回复
可能我没有把问题描述的很清楚,我再说一遍吧:
一个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;}
}

----------------------------
请问:应该如何实现这个程序?请大家帮忙啊,本人菜鸟,又要急用。
shenyong123 2012-04-14
  • 打赏
  • 举报
回复
解析json中的数据
调用
CSharpCodeProvider
CompilerParameters
生成类
anzhiqiang_touzi 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
C# code
/// <summary>
/// Serialize object to string of json format
/// </summary>
private string JsonSerializer<T>(T t)
{
var ser = new DataC……
[/Quote]
telankes2000 2012-04-13
  • 打赏
  • 举报
回复
[url href="http://json.codeplex.com"]JSON[/url]
landingf 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
解析json中的数据
调用
CSharpCodeProvider
CompilerParameters
生成类
[/Quote]
能说的更详细一点吗?如何解析?
jiangshun 2012-04-13
  • 打赏
  • 举报
回复
解析json中的数据
调用
CSharpCodeProvider
CompilerParameters
生成类
色拉油 2012-04-13
  • 打赏
  • 举报
回复
        /// <summary>
/// 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;
}
  • 打赏
  • 举报
回复
string JsonSerializer<T>(T t)
{
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;
}

我现在用的东西 供参考

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧