Tag: json

如何返回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 ?

JSON序列化列表<KeyValuePair >

我在Web API项目中使用了一个Dictionary,它像JSON中那样序列化: {“keyname”:{objectvalue},”keyname2:”…. 由于我有重复的键,我不能再使用Dictionary类型了,而现在我正在使用List<KeyValuePair>. 但这是以这种方式序列化: [{“Key”:”keyname”,”Value”:”objectvalue”}… 有没有办法让List序列化与字典相同? 谢谢。

将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

DataTable到JSON

我最近需要将数据表序列化为JSON。 我在哪里我们仍然在.Net 2.0,所以我不能在.Net 3.5中使用JSON序列化器。 我认为这之前一定是这样做的,所以我去网上寻找并找到了许多 不同的 选择 。 其中一些依赖于一个额外的库,我将很难在这里推进。 其他人需要先转换为List<Dictionary> ,这看起来有点尴尬和不必要。 另一个处理所有值,如字符串。 出于这样或那样的原因,我无法真正落后于他们,所以我决定推出自己的,我发布在下面。 正如您从阅读//TODO评论中看到的那样,它在一些地方不完整。 这段代码已在此处生产,因此它在基本意义上“起作用”。 它不完整的地方是我们知道我们的生产数据当前不会达到它的地方(数据库中没有时间跨度或字节数组)。 我在这里发帖的原因是我觉得这可能会好一点,我希望能帮助完成和改进这段代码。 欢迎任何投入。 请注意,此function内置于.Net 3.5及更高版本中,因此今天使用此代码的唯一原因是,您仍然只能使用.Net 2.0。 即便如此,JSON.Net已成为此类事物的goto库。 public static class JSONHelper { public static string FromDataTable(DataTable dt) { string rowDelimiter = “”; StringBuilder result = new StringBuilder(“[“); foreach (DataRow row in dt.Rows) { result.Append(rowDelimiter); result.Append(FromDataRow(row)); rowDelimiter = “,”; } result.Append(“]”); […]

通过连接包含的元素合并两个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 }; 我怎样才能使它工作?

如何通过WCF处理大文件上传?

我正在考虑将WCF用于一个项目,该项目需要人们将大文件(64MB-1GB)上传到我的服务器。 如何使用WCF处理此问题,可能还有恢复上传的function。 为了处理更大的客户群,我想通过WCF测试JSON。 这会如何影响文件上传? 可以从JSON完成,还是需要切换到REST上传部分?

针对JSON Schema C#validationJSON

有没有办法针对该结构的JSON模式validationJSON结构? 我已经查看并发现JSON.Netvalidation但这不符合我的要求。 JSON.net做: JsonSchema schema = JsonSchema.Parse(@”{ ‘type’: ‘object’, ‘properties’: { ‘name’: {‘type’:’string’}, ‘hobbies’: {‘type’: ‘array’} } }”); JObject person = JObject.Parse(@”{ ‘name’: ‘James’, ‘hobbies’: [‘.NET’, ‘LOLCATS’] }”); bool valid = person.IsValid(schema); // true 这证实为真。 JsonSchema schema = JsonSchema.Parse(@”{ ‘type’: ‘object’, ‘properties’: { ‘name’: {‘type’:’string’}, ‘hobbies’: {‘type’: ‘array’} } }”); JObject person = JObject.Parse(@”{ ‘surname’: […]

使用C#解析JSON数据

我有大约7000行我要解析的JSON数据。 这里可以看到其中一部分的例子。 我所做的是使用WebRequest和StreamReader将所有数据放入一个字符串中。 (奇怪的是,它将所有数据放入一个非常长的行)。 但现在我想解析这个,我不知道如何。 任何人都可以解释如何使用Deserialize ? 我以前用Java解析过JSON数据,但是我在使用C#时遇到了麻烦,尤其是我无法找到带有明确示例的文档。 任何帮助将不胜感激。

我怎样才能合并两个JObject?

我有一个第一个json: { “data”: [{ “id”: “id1”, “field”: “field1” }], “paging”: { “prev”: “link1”, } } 第二个: { “data”: [{ “id”: “id2”, “field”: “field2” }], “paging”: { “prev”: “link2”, } } 我想合并/联合两个数据数组,例如: { “data”: [{ “id”: “id1”, “field”: “field1” }, { “id”: “id2”, “field”: “field2” }] } (我现在不关心paging )。 我怎样才能快速轻松地完成? 这是我的尝试: var final = JsonConvert.SerializeObject(new { […]