Tag: json.net

将JSON响应转换为DataTable

我在JSON中提供了以下示例响应。 我希望能够将它转换为C#DataTable,这样我就可以从那里遍历元素和程序。 { “totalItems” : 10, “pageSize” : 20, “page” : 1, “items” : [ { “type” : “call”, “uri” : “http://link.com”, “created” : “2014-07-28T10:02:48.000+0000”, “callType” : “external”, “from” : “01234567891”, “to” : “01234567892”, “callId” : “ast01-1406541749.604847”, “links” : { “recordings” : “http://link.com” } }, { “type” : “call”, “uri” : “http://link.com” “created” : “2014-07-22T15:21:02.000+0000”, […]

如何对JSON进行数据表的序列化和反序列化

我试图找到一种方法来序列化和反序列化数据集与一个数据表到JSON和从JSON回到数据集/数据表使用JSON.NET,但我找到的所有示例和示例只是从数据集或数据表序列化到JSON,从来没有两种方式。 我们有一个处理XML序列化数据集和数据表的系统,我们仍然需要以该格式保留这些数据集和数据表,但允许某些UI视图将数据呈现为JSON。 数据可以具有空值,这是有效的。 任何帮助将非常感激。 示例(单向序列化): http://www.west-wind.com/weblog/posts/2008/Sep/03/DataTable-JSON-Serialization-in-JSONNET-and-JavaScriptSerializer

解析WebAPI中的接口

我有一个带有以下签名的控制器方法 [HttpGet] [Route(“results”)] public List GetResults() { return repo.GetResults(); } 毫不奇怪,我得到一个JSON .NETexception,说JSON .NET无法将IResult解析为具体类型。 有没有办法为JSON .NET提供具体的类(Result),所以我不必更改方法的单一性?

Newtonsoft.json序列化和反序列化base / inheirited类来自共享项目

所以我有两个类,如下所示。 它们都在同一个命名空间和同一个共享项目中。 public class Person{ public string Name{get;set;} } public class EmployedPerson : Person{ public string JobTitle{get;set;} } 当我将这些项目serilized到rabbitmq时,我将序列化为基类,如下所示: JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple, TypeNameHandling = TypeNameHandling.Objects }; JsonConvert.SerializeObject(input, settings) 但是,当反序列化时,我会遇到问题。 我希望能够执行如下所示的操作,我将反序列化为基类,然后检查它是否是一个非常类型。 类型检查: Person person = Deserialize(e.Body, Encoding.Unicode); if (person is EmployedPerson) { logger.LogInformation(“This person has a job!”); } 反序列化设置: JsonSerializerSettings […]

使用现有项将json反序列化为C#列表

鉴于以下类别: class Report { public Report() { this.Fields=new List(); } [JsonProperty(“fields”)] public IList Fields { get; private set; } } class Field { [JsonProperty(“identifier”)] public Guid Identfier { get;set; } [JsonProperty(“name”)] public string Name { get;set; } } 并设置以下测试方法: var report = new Report(); report.Fields.Add(new Field { Identifier = new Guid(“26a94eab-3d50-4330-8203-e7750abaa060”), Name = “Field 1” […]

如何用c#解析url中的Json内容?

我做了一个例子: public class Test { [JsonProperty(PropertyName = “test1”)] public String Test1 { get; set; } [JsonProperty(PropertyName = “test2”)] public String Test2 { get; set; } } private string url = “http://sample.php”; private List TestList = new List(); private async Task getTestObjects() { var httpClient = new HttpClient(); var response = await httpClient.GetAsync(url); } 如何将url链接中的Test对象导入TestList? 它与阅读XML是一样的吗?

如何使用json.net将复杂的json对象转换为CLR对象?

抱歉愚蠢的问题,但我没有找到任何解决方案。 这是我的JSON: { “Id”: “1”, “Parent.Id”: “1”, “Agent.Id”: “1”, “Agent.Profile.FullName”: “gena”, “Fee”: “10.1200”, “FeeManagementDate”: “29/11/2013”, “Contact.Name”: “Genady”, “Contact.Telephone”: “000000000”, “Contact.Email”: “gena@email.com”, “AgreementUrl”: “http://www.test.com/agreement” } 这是我的目标 public class ManagementDetailsViewModel : ViewModel { public ManagementDetailsViewModel() { } public string AgreementUrl { get; set; } public HttpPostedFileBase AgreementFile { get; set; } public decimal Fee { get; set; […]

Json嵌套参数

我正在使用来自Json对象的数据来填充列表视图。 该对象具有以下参数: “id”: “339150749455906”, “posts”: { “data”: [ { “id”: “339150749455906_545370565500589”, “from”: { “category”: “Food/beverages”, “name”: “Pepsi”, “id”: “339150749455906” }, “story”: “Pepsi updated their cover photo.”, “picture”: “http://sofzh.miximages.com/c%23/942740_545370555500590_46289134_s.jpg”, “link”: “http://www.facebook.com/photo.php?fbid=545370555500590&set=a.365573920146922.72816.339150749455906&type=1&relevant_count=1”, “icon”: “http://sofzh.miximages.com/c%23/StEh3RhPvjk.gif”, “actions”: [ { “name”: “Comment”, “link”: “http://www.facebook.com/339150749455906/posts/545370565500589” }, { “name”: “Like”, “link”: “http://www.facebook.com/339150749455906/posts/545370565500589” } ], 我想访问参数/键“actions”中的链接。 到目前为止我正在使用: foreach (var post in postsTaskResult.posts.data) { […]

我可以使用ASP.net Web Api和MVC 3默认使用Json.Net反序列化吗?

我有一个MVC 3 Web应用程序/ API我正在使用,我非常厌倦默认的Microsoft序列化。 MVC 4中新的ASP.net Web Api的一大承诺是它默认使用JSON.net反序列化。 好吧,我很乐意默认使用JSON反序列化,而不是弄乱WCF客户端。 我遇到的一个问题是由于各种原因我无法转换为MVC 4。 所以我的问题是我仍然可以使用默认情况下使用MVC 3进行Json.net反序列化吗? 我特别想做的是实现一个Json转换器来处理我要反序列化的对象的inheritance。 因此,如果我发送此Json,API将知道要返回的对象类型。 我按照这里的文章在MVC 3应用程序中创建了一个ASP.net web api。 http://wcf.codeplex.com/wikipage?title=Getting%20started:%20Building%20a%20simple%20web%20api 所以,如果我发送JSON … [{ “WokerId” : “456”, “Company” : “ACompany”, “DOB” : “asdasd” }, { “ContactId” : “123”, “Name” : “Johnny Funtime”, “DOB” : “asdasd” }] 对于此服务合同/ API,我将得到适当的回复。 [ServiceContract] public class ContactsApi { [WebInvoke(Method = “POST”, […]

ASP.NET Core是否支持RESTful Web API的JSON Web签名?

我已经阅读了一些关于使用带有ASP.NET Core的JSON Web令牌来validation对REST API的请求的优秀教程,但是我找不到关于是否支持更常用的JSON Web签名(rfc7515)与REST API定义一起使用的文档。篡改保护请求的内容。 例如,以下Controller允许一个简单的POST请求,从而将JSON序列化的“CreateRequest”对象提交给API并进行处理: [Produces(“application/json”)] [Route(“api/WebService”)] public class WebServiceController { [HttpPost(“CreateRequest”)] public override IActionResult Create([FromBody] CreateRequest request) { if (request == null) { return BadRequest(); } else { // Do stuff with CreateRequest object … return new OkResult(); } } } 如果我想保护CreateRequest对象不被篡改传输JSON Web Signature似乎是一种很好的方法,但是如何在编码为BASE64并签名时让请求处理程序接受该对象,并且最好仅在签名validation时? 我知道保护内容的完整性可以通过其他方式解决,例如通过TLS加密连接,但暂时假设请求必须通过纯HTTP进行,内容在完整视图中。 因此,类似的JSON Web加密标准也不适合我的用例。