Tag: 序列化

如何将DataTable序列化为json或xml

我正在尝试将DataTable序列化为Json或XML。 可能吗?怎么样? 请给我任何教程和想法。 例如,有一个sql表: CREATE TABLE [dbo].[dictTable]( [keyValue] [int] IDENTITY(1,1) NOT NULL, [valueValue] [int] NULL, CONSTRAINT [Psd2Id] PRIMARY KEY CLUSTERED ( [keyValue] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] C#代码: string connectionString = “server=localhost;database=dbd;uid=**;pwd=**”; SqlConnection mySqlConnection = new SqlConnection(connectionString); string selectString = “SELECT keyValue, valueValue FROM dicTable”; SqlCommand mySqlCommand […]

将对象转换为对象数组

我从WCF调用返回以下javascript对象,这已从字典对象序列化,删除了键/值属性 Object { 7=”XXX”, 9=”YYY” } 我想将此javascript转换为以下数组,结果为 [Object { Key=7, Value=”XXX”}, Object { Key=9, Value=”YYY”}] 我正在使用jquery客户端库。 任何人都知道如何将对象转换为具有键/值属性的对象数组?

没有null XMLArray的XML序列化

让我直截了当。 如果XMLArray元素为null,是否可以不序列化它? 如下面的XML“详细信息”一样。 如果它为null,是否可以不用XML。 请检查我的代码,并会对它有一些想法。 99999 1 2013-02-13 2013-03-15 27624642 Images\20130315\10_00000030_00000 SEK 999999 10 99999 AA AAAA 170.36 1590.00 [Serializable] public class Invoice { private Header _header = new Header(); private Summary _summary = new Summary(); private List _details = new List(); [XmlElement(“InvoiceNo”)] public string InvoiceNo { get; set; } [XmlElement(“Header”)] public Header Header { […]

如何反序列化xml字符串

我试图反序列化一个xml字符串,我没有反序列化对象。 我的xml字符串看起来像 123445 78945 [Serializable()] [XmlRoot(“Cars”)] public class Cars { [XmlArrayItem(“Car”,typeof(Car))] public Car[] Car { get; set; } } [Serializable()] public class Car { [XmlElement(“Id”)] public long Id { get; set; } [XmlArrayItem(“BMW”,typeof(BMW))] public BMW[] BMW { get; set; } } [Serializable()] public class BMW { [XmlElement(“Id”)] public long Id { get; set; } } […]

为什么这段代码为(看起来是)相同的输入提供了两个不同的输出?

我正在尝试为一个跳棋游戏编程一些人工智能。 我的节目是说白人玩家有0个动作,尽管我知道有。 GetValidMoves()函数已经过测试,可以在代码的其他区域中使用。 为了尝试隔离程序,我保存了有问题的板状态,然后将其加载回来,看看我是否会遇到同样的问题: using(Stream s = File.Open(“board.dat”, FileMode.Create)) { var bf = new BinaryFormatter(); bf.Serialize(s, board); } Debug.WriteLine(board.GetValidMoves(Color.White).Count()); using (Stream s = File.Open(“board.dat”, FileMode.Open)) { var bf = new BinaryFormatter(); board = (Board)bf.Deserialize(s); } Debug.WriteLine(board.GetValidMoves(Color.White).Count()); 这打印: 0 7 当我期望输出相同时(7是正确的)。 什么可能导致这反序列化后开始工作? 董事会的两个实例看起来完全一样……我打印出所有属性,它们都是一样的。 我不知道从哪里开始? 电路板的第一个实例(反序列化之前)是克隆的结果。 我可以克隆它吗? 有“悬挂参考”吗? GetValidMoves: public IEnumerable GetValidMoves(Color c) { var jumps = […]

WCF服务和对象构造函数

我只是在学习WCF服务。 我有一个方法返回我创建的名为GPSPosition的对象。 GPS位置对象具有纬度和经度。 没有这些属性,对象永远不应该存在。所以,我想让构造函数接受Lat和Long浮点数。 因此,在创建对象时,将设置值,并且永远不会无效(Unset)。 但是,它是我的WCF服务的一个对象。 可以作为我的调用应用程序使用的WCF服务对象有一个构造函数吗? 如果我var position = new GpsPosition{ lat=1, lon=1 }; 在我的调用代码中,构造函数是否可以工作? 你能在WCF类中拥有构造函数吗? 我认为它们是在不同语言之间共享的 – 例如,如果Java使用该服务,我不确定构造函数将如何触发。 对象结构与调用应用程序共享,不是吗? 你可以在构造函数中触发.net代码(对于那种情况,还有getter和setter方法)? 如果构造函数不可用 – 有没有办法确保我的对象永远无效? (必须在-180和+180之间有有效的纬度/经度值)?

C#Newtonsoft反序列化JSON数组

我正在尝试使用Newtonsoft对数组进行反序列化,因此我可以在列表框中显示来自基于云的服务器的文件,但无论我尝试什么,我总是会收到此错误: Newtonsoft.Json.JsonReaderException:’解析值时遇到意外的字符:[。 路径'[0] .priv’,第4行,第15位。’ 这是一个尝试反序列化的示例: [ { “code”: 200, “priv”: [ { “file”: “file.txt”, “ext”: “txt”, “size”: “104.86” }, { “file”: “file2.exe”, “ext”: “exe”, “size”: “173.74” }, ], “pub”: [ { “file”: “file.txt”, “ext”: “txt”, “size”: “104.86” }, { “file”: “file2.exe”, “ext”: “exe”, “size”: “173.74” } ] } ] 我尝试使用像这样的C#类: public class ListJson { [JsonProperty(“pub”)] […]

字典XML序列化

我有一个类,我想序列化的字典属性。 我已经读过序列化字典不是直接可能的,所以我序列化/反序列化列表然后转换为字典。 它有效,但我想知道是否有一个正确的方法来做到这一点。 [Serializable] public class Album { private List photos = new List(); [XmlArray] public List Photos { get { return photos; } set { photos = value; } } private Dictionary dicoPhotos = new Dictionary(); [XmlIgnore] public Dictionary DicoPhotos { get { return dicoPhotos; } set { dicoPhotos = value; } } public […]

如何序列化?

using System; using System.Collections.Generic; using System.IO; class Program { static void Main() { // Get all files in Documents List dirs = FileHelper.GetFilesRecursive(“S:\\bob.smith\\”); foreach (string p in dirs) { Console.WriteLine(p); } // Write count Console.WriteLine(“Count: {0}”, dirs.Count); Console.Read(); } } static class FileHelper { public static List GetFilesRecursive(string b) { // 1. // Store results […]

无法找到assembly

我将ArrayList序列化为二进制文件,以便通过TCP / IP发送它。 序列化文件由服务器创建,我希望能够使用我正在编写的客户端对其进行反序列化。 但是,当客户端尝试反序列化时,它会抛出一个SerializationException,因为它无法找到序列化文件开始的程序集(可能)。 我该如何解决这个问题?