Questions tagged «deserialization»

反序列化是从对象的序列化状态重新创建对象的过程。


11
使用Newtonsoft将JSON反序列化为.NET对象(也许是LINQ到JSON?)
我知道有一些关于Newtonsoft的帖子,所以希望这不是重复...我正在尝试将Kazaa API返回的JSON数据转换为某种不错的对象 WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"); StreamReader reader = new StreamReader(stream); List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); JsonConvert系列只是我正在尝试的最新系列...我不太了解它,希望通过询问大家来消除一些麻烦。我最初试图将其转换为Dictionary或其他内容……实际上,我只需要在那里获取几个值,因此从文档来看,也许Newtonsoft的LINQ to JSON可能是更好的选择?有想法/链接吗? 这是JSON返回数据的示例: { "page": 1, "total_pages": 8, "total_entries": 74, "q": "muse", "albums": [ { "name": "Muse", "permalink": "Muse", …

9
如何在JSON.NET中实现自定义JsonConverter以反序列化基类对象列表?
我正在尝试扩展此处给出的JSON.net示例 http://james.newtonking.com/projects/json/help/CustomCreationConverter.html 我还有一个派生自基类/接口的子类 public class Person { public string FirstName { get; set; } public string LastName { get; set; } } public class Employee : Person { public string Department { get; set; } public string JobTitle { get; set; } } public class Artist : Person { public …

5
.NET NewtonSoft JSON反序列化映射到其他属性名称
我有以下从外部方收到的JSON字符串。 { "team":[ { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"home", "score":"22", "team_id":"500" } }, { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"away", "score":"30", "team_id":"600" } } ] } 我的映射类: public class Attributes { public string eighty_min_score { get; set; } public string home_or_away { get; set; } public string score { get; set; } public …

8
将JSON反序列化为JavaScript对象
我在使用AJAX访问的Java服务器应用程序中有一个字符串。它看起来像以下内容: var json = [{ "adjacencies": [ { "nodeTo": "graphnode2", "nodeFrom": "graphnode1", "data": { "$color": "#557EAA" } } ], "data": { "$color": "#EBB056", "$type": "triangle", "$dim": 9 }, "id": "graphnode1", "name": "graphnode1" },{ "adjacencies": [], "data": { "$color": "#EBB056", "$type": "triangle", "$dim": 9 }, "id": "graphnode2", "name": "graphnode2" }]; 当从服务器提取字符串时,是否有一种简单的方法可以将其转换为活动的JavaScript对象(或数组)?还是我必须手动拆分字符串并手动构建对象?

8
将Stream转换为String并返回……我们缺少什么?
我想将对象序列化为字符串,然后返回。 我们使用protobuf-net将对象成功转换为Stream并返回。 但是,流到字符串并返回...不是很成功。经过StreamToString和之后StringToStream,新协议Stream不会被protobuf-net反序列化;它引发一个Arithmetic Operation resulted in an Overflow异常。如果我们反序列化原始流,它将起作用。 我们的方法: public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { return reader.ReadToEnd(); } } public static Stream StringToStream(string src) { byte[] byteArray = Encoding.UTF8.GetBytes(src); return new MemoryStream(byteArray); } 我们的示例代码使用这两个: MemoryStream stream = new MemoryStream(); …

8
使用JSON.NET将JSON数据反序列化为C#
我是刚接触C#和JSON数据的新手,正在寻求指导。我正在使用C#3.0,.NET3.5SP1和JSON.NET 3.5r6。 我有一个需要从JSON结构填充的已定义C#类。但是,并非从Web服务检索到的条目的每个JSON结构都包含C#类中定义的所有可能的属性。 我一直在做似乎错误,困难的方法,只是从JObject逐个选择每个值,然后将字符串转换为所需的类属性。 JsonSerializer serializer = new JsonSerializer(); var o = (JObject)serializer.Deserialize(myjsondata); MyAccount.EmployeeID = (string)o["employeeid"][0]; 将JSON结构反序列化为C#类并处理JSON源中可能丢失的数据的最佳方法是什么? 我的课程定义为: public class MyAccount { [JsonProperty(PropertyName = "username")] public string UserID { get; set; } [JsonProperty(PropertyName = "givenname")] public string GivenName { get; set; } [JsonProperty(PropertyName = "sn")] public string Surname { get; …

6
性能实体序列化:BSON与MessagePack(对比JSON)
最近,我找到了MessagePack,它是Google 协议缓冲区和JSON的另一种二进制序列化格式,它的性能也优于两者。 另外,MongoDB还使用了BSON序列化格式来存储数据。 有人可以详细说明BSON与MessagePack的区别和缺点吗? 只是为了完成高性能二进制序列化格式的列表:还有Gob ,它们将成为Google的Protocol Buffers的后继产品。但是,与所有其他提到的格式相反,这些格式不是语言不可知的,并且依赖于Go的内置反射,此外还有Gobs库,至少可以使用除Go之外的其他语言。


13
反序列化时如何从json中删除k__BackingField
将xml文件序列化为.net c#对象后,在返回的json中获取k_BackingField。 我已经将DataContract和DataMember属性添加到.net c#对象,但是在json客户端上却什么也没得到。 [XmlRoot("person")] [Serializable] public class LinkedIn { [XmlElement("id")] public string ID { get; set; } [XmlElement("industry")] public string Industry { get; set; } [XmlElement("first-name")] public string FirstName { get; set; } [XmlElement("last-name")] public string LastName { get; set; } [XmlElement("headline")] } 返回的json示例: home: Object <FirstName>k__BackingField: "Storefront" <LastName>k__BackingField: …

9
gson的多态性
我在使用Gson反序列化json字符串时遇到问题。我收到一系列命令。该命令可以是start,stop或其他类型的命令。我自然具有多态性,并且start / stop命令从command继承。 如何使用gson将其序列化回正确的命令对象? 似乎我只获得基本类型,即声明的类型,而从未获得运行时类型。

3
DataContractJsonSerializer和JavaScriptSerializer有什么区别?
.NET Framework随System.Runtime.Serialization.Json.DataContractJsonSerializer和System.Web.Script.Serialization.JavaScriptSerializer一起提供,它们都对JSON进行反序列化。我怎么知道何时选择这些类型中的一种?MSDN尚不清楚它们的相对优势是什么。 我们有几个使用或发出JSON的项目,到目前为止,为每个项目选择的类取决于每个项目的主要开发人员的意见。其中一些很简单,有两种关于从JSON生成托管类型的复杂逻辑(这些类型并不紧密地映射到流),但是不注重速度,一个需要速度。至少到目前为止,没有人与WCF进行交互。 虽然我对替代库感兴趣,但我希望有人也能对我的问题有所解答。

9
序列化和反序列化.NET对象的最快方法
我正在寻找序列化和反序列化.NET对象的最快方法。这是我到目前为止的内容: public class TD { public List<CT> CTs { get; set; } public List<TE> TEs { get; set; } public string Code { get; set; } public string Message { get; set; } public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } public static string …

3
Newtonsoft JSON反序列化
我的JSON如下: {"t":"1339886","a":true,"data":[],"Type":[['Ants','Biz','Tro']]} 我找到了C#的Newtonsoft JSON.NET反序列化库。我尝试如下使用它: object JsonDe = JsonConvert.DeserializeObject(Json); 如何访问JsonDe对象以获取所有“类型”数据?我尝试了一个循环,但由于对象没有枚举器而无法正常工作。

3
Android中的Moshi vs Gson [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 上个月关闭。 改善这个问题 我正在决定是使用Square还是Gson的Moshi来序列化和反序列化模型数据。 我一直不喜欢Gson的一件事是我认为它使用反射功能,而这在Android上可能会很慢?莫希也使用反射吗? Moshi vs Gson有哪些优缺点? 我认为它们相似。例如,该语句创建一个typeAdapter: class CardAdapter { @ToJson String toJson(Card card) { return card.rank + card.suit.name().substring(0, 1); } @FromJson Card fromJson(String card) { if (card.length() != 2) throw new JsonDataException("Unknown card: " + card); char rank = card.charAt(0); switch (card.charAt(1)) { case 'C': return …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.