Questions tagged «json.net»

Json.NET(也称为Newtonsoft.Json)是用于.NET的流行的高性能JSON框架。

21
如何在ASP.NET中将JSON反序列化为简单的Dictionary <string,string>?
我在JSON中有一个简单的键/值列表,该列表通过POST发送回ASP.NET。例: { "key1": "value1", "key2": "value2"} 我不打算将序列化为严格类型的.NET对象 我只需要一个普通的旧Dictionary(Of String,String)或一些等效项(哈希表,Dictionary(Of String,Object),老式的StringDictionary-地狱,二维字符串数组对我来说就可以工作。 我可以使用ASP.NET 3.5和流行的Json.NET(我已经在使用它序列化到客户端)中使用的任何东西。 显然,这两个JSON库都不具有这种开箱即用的明显功能-它们完全专注于通过强契约进行基于反射的反序列化。 有任何想法吗? 局限性: 我不想实现自己的JSON解析器 尚不能使用ASP.NET 4.0 希望远离JSON不再使用的旧的ASP.NET类

13
如何使用json.net忽略类中的属性(如果为null)
我正在使用Json.NET将类序列化为JSON。 我有这样的课: class Test1 { [JsonProperty("id")] public string ID { get; set; } [JsonProperty("label")] public string Label { get; set; } [JsonProperty("url")] public string URL { get; set; } [JsonProperty("item")] public List&lt;Test2&gt; Test2List { get; set; } } 我只想在is 时JsonIgnore()向Test2List属性添加属性。如果它不为null,那么我想将其包含在json中。Test2Listnull
529 c#  json.net 



3
使用Json.net进行序列化时,如何更改属性名称?
我在C#DataSet对象中有一些数据。我现在可以使用像这样的Json.net转换器序列化它 DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); 但是,这将使用data打印到.json文件时的属性名称。我想将属性名称更改为其他名称(例如,将“ foo”更改为“ bar”)。 在Json.net文档中的 “序列化和反序列化JSON”→“序列化属性”下,它显示“ JsonPropertyAttribute ...允许自定义名称”。但是没有例子。有谁知道如何使用JsonPropertyAttribute将属性名称更改为其他名称? (直接链接到文档) Json.net的文档似乎很少。如果您有一个很好的例子,我将尝试将其添加到官方文档中。谢谢!


7
JSON命名约定
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 JSON命名是否有标准?我看到大多数示例都使用下划线(lower_case)分隔的所有小写字母。但是,可以使用PascalCase或camelCase吗?
379 json  json.net 

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&amp;type=Album"); StreamReader reader = new StreamReader(stream); List&lt;string&gt; list = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;List&lt;string&gt;&gt;(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 …


11
如何从ASP.NET MVC控制器方法返回由JSON.NET序列化的camelCase JSON?
我的问题是我希望通过ActionResult从ASP.NET MVC控制器方法(由JSON.NET序列化)中返回camelCased(与标准PascalCase相反)JSON数据。 作为示例,请考虑以下C#类: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } 默认情况下,当从MVC控制器以JSON返回此类的实例时,它将以以下方式序列化: { "FirstName": "Joe", "LastName": "Public" } 我希望将其序列化(通过JSON.NET)为: { "firstName": "Joe", "lastName": "Public" } 我该怎么做呢?

3
如何将JObject反序列化为.NET对象
我很高兴使用Newtonsoft JSON库。例如,我将JObject根据.NET对象创建一个,在这种情况下为Exception的实例(可能是子类,也可能不是子类) if (result is Exception) var jobjectInstance = JObject.FromObject(result); 现在我知道该库可以将JSON文本(即字符串)反序列化为对象 // only works for text (string) Exception exception = JsonConvert.DeserializeObject&lt;Exception&gt;(jsontext); 但是我正在寻找的是: // now i do already have an JObject instance Exception exception = jobjectInstance.???? 很明显,我可以从头JObject回到JSON文本,然后使用反序列化功能,但这对我来说似乎是倒退的。

6
将Newtonsoft.Json.Linq.JArray转换为特定对象类型的列表
我有以下类型的变量{Newtonsoft.Json.Linq.JArray}。 properties["Value"] {[ { "Name": "Username", "Selected": true }, { "Name": "Password", "Selected": true } ]} 我想做到的是将其转换为List&lt;SelectableEnumItem&gt;那里SelectableEnumItem是以下类型: public class SelectableEnumItem { public string Name { get; set; } public bool Selected { get; set; } } 我是编程的新手,我不确定这是否可行。工作示例的任何帮助将不胜感激。
236 c#  json.net 

30
无法加载文件或程序集'Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'
我遇到错误 System.IO.FileLoadException:无法加载文件或程序集“ Newtonsoft.Json,版本= 4.5.0.0,区域性=中性,PublicKeyToken = 30ad4fe6b2a6aeed”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040) 对于我的CI构建 我尝试过的解决方案 &lt;dependentAssembly&gt; &lt;assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /&gt; &lt;bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /&gt; &lt;/dependentAssembly&gt; 它也没有用
233 asp.net  json.net 

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.