Tag: json.net

使用JSON.Net序列化包含撇号的字符串

我使用JSON.Net作为c#中的大型MVC 3 Web应用程序和Razor视图引擎的序列化程序。 对于一个视图中的初始页面加载,使用@Html.Raw(JsonConvert.SerializeObject(myObject))在脚本标记内转储了大量JSON。 问题是某些对象的某些值包含撇号(想想像O’Brien这样的名字),JSON.Net没有以任何方式转义或编码。 对预存储在数据库中的值进行预编码不是一种选择,因为这会使各种其他进程复杂化。 有没有办法强制JSON.Net对HTML序列化对象的值进行编码,就像调用JavaScriptSerializer.Serialize(myObject)时内置的JavaScriptSerializer一样? 或者,有没有办法在视图中处理这个问题?

如何创建JSON.NET Date to String自定义Converter

有人可以告诉我如何创建自定义转换器 我知道我可以使用JSON.NET ISODateConvertor,但我想要的是具体的,我只想在响应时将值作为“日/月/年”字符串发送。

如何返回JSon对象

我正在使用一个需要具有以下结构的JSON对象的jQuery插件(我将从数据库中检索值): { results: [ { id: “1”, value: “ABC”, info: “ABC” }, { id: “2”, value: “JKL”, info: “JKL” }, { id: “3”, value: “XYZ”, info: “XYZ” } ] } 这是我的class级: public class results { int _id; string _value; string _info; public int id { get { return _id; } set { _id = value; […]

Json.NET:反序列化嵌套字典

将对象反序列化为Dictionary ( JsonConvert.DeserializeObject<IDictionary>(json) )时,嵌套对象被反序列JObject s。 是否可以强制嵌套对象反序列化为Dictionary ?

JsonConvert.Deserializer索引问题

在C#中使用Stack集合时遇到了以下问题。 确切地说,我不确定为什么会这样。 请详细说明解决方案的原因和替代方案。 问题 – 具有Stack作为属性的类。 例如,将类命名为Progress。 T是类型Item。 现在,只要用户取得任何进展,我们将以堆栈forms存储。 如果用户介于两者之间,那么下次我们将从堆栈中查看项目,以便从该阶段开始。 下面的代码片段将介绍正在尝试的内容…… using static System.Console; using System.Collections.Generic; using Newtonsoft.Json; namespace StackCollection { class Program { static void Main(string[] args) { Progress progress = new Progress(); progress.Items.Push(new Item { PlanID = null, PlanName = “Plan A” }); var jsonString = JsonConvert.SerializeObject(progress); var temp = JsonConvert.DeserializeObject(jsonString); temp.Items.Push(new Item […]

反序列化具有以数字开头的属性名称的json

JSON数据看起来像这样 [ { “market_id”: “21”, “coin”: “DarkCoin”, “code”: “DRK”, “exchange”: “BTC”, “last_price”: “0.01777975”, “yesterday_price”: “0.01770278”, “change”: “+0.43”, “24hhigh”: “0.01800280”, “24hlow”: “0.01752015”, “24hvol”: “404.202”, “top_bid”: “0.01777975”, “top_ask”: “0.01790000” } ] 请注意这里的3个属性24high,24hhlow和24hvol你如何为此做一个类。 顺便提一下,我需要所有这些属性,而不仅仅是我提到的那3个属性。

将JSON反序列化为抽象类

我试图将JSON字符串反序列化为具体类,该类inheritance自抽象类,但我无法使其工作。 我用Google搜索并尝试了一些解决方案,但它们似乎也没有用。 这就是我现在拥有的: abstract class AbstractClass { } class ConcreteClass { } public AbstractClass Decode(string jsonString) { JsonSerializerSettings jss = new JsonSerializerSettings(); jss.TypeNameHandling = TypeNameHandling.All; return (AbstractClass)JsonConvert.DeserializeObject(jsonString, null, jss); } 但是,如果我尝试转换生成的对象,它就不起作用。 我不使用DeserializeObject的原因是我有很多具体的类 。 有什么建议? 我正在使用Newtonsoft.Json

通过连接包含的元素合并两个Json.NET数组

我有两个代表JSON对象数组的JToken ,我想合并它们。 JToken有一个方法Concat但是当我尝试使用它时它会产生null 。 Action Ok = (x) => { Debug.WriteLine(x); /* outputs [ { “id”: 1, }, { “id”: 2, } ] */ x = (x).Concat(x) as JToken; Debug.WriteLine(x); // null }; 我怎样才能使它工作?

Json.Net – 不带引号的Serialize属性名称

我试图让Json.Net序列化一个没有引号的属性名称,并且发现很难在Google上找到文档。 我怎样才能做到这一点? 它只是大型Json渲染的一小部分,所以我更喜欢添加属性属性,或者覆盖类的序列化方法。 目前,它呈现如下: “event_modal”: { “href”:”file.html”, “type”:”full” } 而且我希望得到它像:( href和type没有引号) “event_modal”: { href:”file.html”, type:”full” } 来自class级: public class ModalOptions { public object href { get; set; } public object type { get; set; } }

什么是JSON.NET相当于XML的XPath,SelectNodes,SelectSingleNode?

目前,我的代码结构使用XmlDocument加载Xml数据,然后使用SelectNodes迭代重复项列表。 对于每个元素,我使用XmlNode.SelectSingleNode来挑选字段元素。 我现在想要使用JSON.NET来实现与作为JSON提供给我的文档相同的结果。 答案可能不是JSON.net,只要它是C#可积。