JsonHelper类c#对象与json互转.docx
- 文档编号:9695763
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:19.64KB
JsonHelper类c#对象与json互转.docx
《JsonHelper类c#对象与json互转.docx》由会员分享,可在线阅读,更多相关《JsonHelper类c#对象与json互转.docx(19页珍藏版)》请在冰豆网上搜索。
JsonHelper类c#对象与json互转
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingNewtonsoft.Json;
usingNewtonsoft.Json.Converters;
namespaceYY.SZYD.Shop.Common.Utils
{
publicstaticclassJsonHelper
{
privatestaticJsonSerializerSettings_jsonSettings;
staticJsonHelper()
{
IsoDateTimeConverterdatetimeConverter=newIsoDateTimeConverter();
datetimeConverter.DateTimeFormat="yyyy-MM-ddHH:
mm:
ss";
_jsonSettings=newJsonSerializerSettings();
_jsonSettings.MissingMemberHandling=Newtonsoft.Json.MissingMemberHandling.Ignore;
_jsonSettings.NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore;
_jsonSettings.ReferenceLoopHandling=Newtonsoft.Json.ReferenceLoopHandling.Ignore;
_jsonSettings.Converters.Add(datetimeConverter);
}
///
///将指定的对象序列化成JSON数据。
///
///
///
publicstaticstringToJson(thisobjectobj)
{
try
{
if(null==obj)
returnnull;
returnJsonConvert.SerializeObject(obj,Formatting.None,_jsonSettings);
}
catch(Exceptionex)
{
Logging.LogManager.Error(newLogging.ExceptionLogInfo()
{
ExceptionClassName="YY.SZYD.Shop.Common.Utils.JsonHelper",
ExceptionMethod="ToJson",
ExceptionNote="Json序列化出错",
RequestInfo=obj.GetType().FullName,
},
ex);
returnnull;
}
}
///
///将指定的JSON数据反序列化成指定对象。
///
///
///
///
publicstaticTFromJson
{
try
{
returnJsonConvert.DeserializeObject
}
catch(Exceptionex)
{
Logging.LogManager.Error(newLogging.ExceptionLogInfo()
{
ExceptionClassName="YY.SZYD.Shop.Common.Utils.JsonHelper",
ExceptionMethod="ToJson",
ExceptionNote="Json序列化出错",
RequestInfo=json,
},
ex);
returndefault(T);
}
}
}
}
1.using System;
2.using System.Collections.Generic;
3.using System.Linq;
4.using System.Text;
5.using System.Xml;
6.
7.namespace CreateXml
8.{
9. class Program
10. {
11. static void Main(string[] args)
12. {
13. Program app = new Program();
14. app.CreateXmlFile();
15. }
16. public void CreateXmlFile()
17. {
18. XmlDocument xmlDoc = new XmlDocument();
19. //创建类型声明节点
20. XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
21. xmlDoc.AppendChild(node);
22. //创建根节点
23. XmlNode root = xmlDoc.CreateElement("User");
24. xmlDoc.AppendChild(root);
25. CreateNode(xmlDoc, root, "name", "xuwei");
26. CreateNode(xmlDoc, root, "sex", "male");
27. CreateNode(xmlDoc, root, "age", "25");
28. try
29. {
30. xmlDoc.Save("c:
//data2.xml");
31. }
32. catch (Exception e)
33. {
34. //显示错误信息
35. Console.WriteLine(e.Message);
36. }
37. //Console.ReadLine();
38.
39. }
40.
41. ///
42. /// 创建节点
43. ///
44. /// xml文档
45. /// 父节点
46. /// 节点名
47. /// 节点值
48. ///
49. public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
50. {
51. XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
52. node.InnerText = value;
53. parentNode.AppendChild(node);
54. }
55. }
56.}
这样会在C盘根目录下创建data2.xml文件,文件内容为
1.
xml version="1.0" encoding="utf-8"?
>
2.
3.
4.
5.
6.
2.创建多节点多层级的XML文件
只需要对CreateXmlFile()方法进行简单修改即可,修改如下:
1.public void CreateXmlFile()
2. {
3. XmlDocument xmlDoc = new XmlDocument();
4. //创建类型声明节点
5. XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
6. xmlDoc.AppendChild(node);
7. //创建根节点
8. XmlNode root = xmlDoc.CreateElement("Users");
9. xmlDoc.AppendChild(root);
10.
11. XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
12. CreateNode(xmlDoc, node1, "name", "xuwei");
13. CreateNode(xmlDoc, node1, "sex", "male");
14. CreateNode(xmlDoc, node1, "age", "25");
15. root.AppendChild(node1);
16.
17. XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
18. CreateNode(xmlDoc, node2, "name", "xiaolai");
19. CreateNode(xmlDoc, node2, "sex", "female");
20. CreateNode(xmlDoc, node2, "age", "23");
21. root.AppendChild(node2);
22.
23. try
24. {
25. xmlDoc.Save("c:
//data5.xml");
26. }
27. catch (Exception e)
28. {
29. //显示错误信息
30. Console.WriteLine(e.Message);
31. }
32. //Console.ReadLine();
33.
34. }
生成的xml文件内容如下:
1.
xml version="1.0" encoding="utf-8"?
>
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
viewplaincopytoclipboardPRint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data;
usingSystem.IO;
usingSystem.Web;
usingMicrosoft.Office.Interop.Excel;
/*
*开发人员:
小笨蛋
*时间:
2009年11月17日
*功能:
将数据导出Excel
*
*/
namespaceXT.LiTree.Logic
{
publicclassExcelExport
{
///
///直接导出Excel
///
///
///
E:
\a.xls)
///
publicboolDoExport(DataSetds,stringfileName)
{
if(ds.Tables.Count==0||fileName==string.Empty)
{
returnfalse;
}
application excel=newApplicationClass();
introwindex=1;
intcolindex=0;
Workbookwork=excel.Workbooks.Add(true);
//Worksheetsheet1=(Worksheet)work.Worksheets[0];
System.Data.DataTabletable=ds.Tables[0];
foreach(DataColumncolintable.Columns)
{
colindex++;
excel.Cells[1,colindex]=col.ColumnName;
}
foreach(DataRowrowintable.Rows)
{
rowindex++;
colindex=0;
foreach(DataColumncolintable.Columns)
{
colindex++;
excel.Cells[rowindex,colindex]=row[col.ColumnName].ToString();
}
}
excel.Visible=false;
//((Worksheet)work.Sheets[0]).Name="sss";
excel.ActiveWorkbook.SaveAs(fileName,XlFileFormat.xlExcel9795,null,null,false,false,XlSaveAsaccessMode.xlNoChange,null,null,null,null,null);
excel.Quit();
excel=null;
GC.Collect();
returntrue;
}
///
///直接导出Excel
///
///
///
///
E:
\a.xls)
///
publicboolDoExport(DataSetds,string[]columns,stringfileName)
{
if(ds.Tables.Count==0||fileName==string.Empty)
{
returnfalse;
}
Applicationexcel=newApplicationClass();
introwindex=1;
intcolindex=0;
Workbookwork=excel.Workbooks.Add(true);
//Worksheetsheet1=(Worksheet)work.Worksheets[0];
System.Data.DataTabletable=ds.Tables[0];
if(columns!
=null)
{
for(inti=0;i {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JsonHelper c# 对象 json 互转