C# Json.net在使用.net webservice中的Json字符串时遇到问题

C# Json.net在使用.net webservice中的Json字符串时遇到问题,c#,asp.net,json,web-services,C#,Asp.net,Json,Web Services,我们在试图解码从json.net在我们的web服务中创建的一些json时遇到了分配问题 [ { "id":"12a0910b-0196-4f1b-acff-1d395a32bbd1", "IVACode":"IVA001", "FirstName":"David", "LastName":"Buckley", "AddressLine1":"1 rathmena gardens ", "AddressLine2":""

我们在试图解码从json.net在我们的web服务中创建的一些json时遇到了分配问题

[
   {
      "id":"12a0910b-0196-4f1b-acff-1d395a32bbd1",
      "IVACode":"IVA001",
      "FirstName":"David",
      "LastName":"Buckley",
      "AddressLine1":"1 rathmena gardens ",
      "AddressLine2":"",
      "Town":"Ballyclare",
      "County":"Antrim",
      "PostCode":"BT3999HU",
      "Telephone":"023828392",
      "EmailAddress":"david@gmail.com",
      "isActive":true,
      "authUserName":null,
      "authCreatedDate":"2016-06-27T00:00:00",
      "personalProgressValue":5,
      "contributionsToDate":null,
      "totalContributions":null,
      "totalArrears":50000.00,
      "totalPaid":null,
      "isDeleted":false,
      "deviceId":"dwedwedwedwe",
      "deviceOs":null
   },
   {
      "id":"7aee450a-a9a7-4f19-83d3-467a3b8a39c0",
      "IVACode":"IVA002",
      "FirstName":"Peter",
      "LastName":"Carson",
      "AddressLine1":"Waters Edge Belfast",
      "AddressLine2":null,
      "Town":"Belfast",
      "County":"Down",
      "PostCode":"BT99YXX",
      "Telephone":null,
      "EmailAddress":"peter.carson@company.uk.com",
      "isActive":true,
      "authUserName":null,
      "authCreatedDate":null,
      "personalProgressValue":6,
      "contributionsToDate":null,
      "totalContributions":null,
      "totalArrears":50000.00,
      "totalPaid":null,
      "isDeleted":false,
      "deviceId":null,
      "deviceOs":null
   }
]
因此,在我们的web方法中,我有以下内容来隐藏产生上述内容的列表

 [WebMethod]
 public string getCustomerInfo()
 {
        var customerData = _dal.apertureAppstblCustomers.ToList();

        var jsonstring = JsonConvert.SerializeObject(customerData);
        jsonstring = jsonstring.Replace("<string>", "").Replace("</string>", "");

        return jsonstring;

}
[WebMethod]
公共字符串getCustomerInfo()
{
var customerData=_dal.apertureAppstblCustomers.ToList();
var jsonstring=JsonConvert.SerializeObject(customerData);
jsonstring=jsonstring.Replace(“,”).Replace(“,”);
返回jsonstring;
}
但是我已经验证了json,它说它是正确的,但是当我尝试解码这个方法时,它失败了,即使我尝试将它作为一个字符串封装起来进行测试。 Obv我们使用字符串json=@”在字符串上方

JArray a = JArray.Parse(json);
foreach (JObject o in a.Children<JObject>())
{
    foreach (JProperty p in o.Properties())
    {
        string name = p.Name;
        string value = (string)p.Value;
        Console.WriteLine(name + " -- " + value);
    }       
}
JArray a=JArray.Parse(json);
foreach(a.Children()中的JObject o)
{
foreach(o.Properties()中的JProperty p)
{
字符串名称=p.名称;
字符串值=(字符串)p.value;
Console.WriteLine(名称+“--”+值);
}       
}

序列化程序通常在正确序列化日期时间方面存在问题。尝试删除datetime字段并再次测试。@Mikolaytis我们尝试使用双引号,并将其delzieraized ok,如果这给了您一个想法?实际结果是什么?问题是什么?JSon.NET在日期方面没有问题,无论是ISO8601(如您的情况)还是弃用的
日期(\…
格式。解析
抛出还是在循环中得到意外结果?您也不需要使用
子项()
,只需使用
子项()
。检查,它使用
数组。子项()
item.Children()
以访问属性。@PanagiotisKanavos我必须在我使用xamrian for andriod development studio的文本周围加上双引号,我认为它与序列化程序在正确序列化日期时间方面经常出现问题。请尝试删除日期时间字段,然后再次测试。@Mikolaytis我们尝试了双引号并将其反写lzieraized ok,如果这给了你一个想法?。实际的结果是什么,问题是什么?JSon.NET在日期方面没有问题,无论是ISO8601(如您的情况)还是不推荐的
Date(\…
格式。解析
会抛出还是在循环中得到意外的结果?您也不需要使用
Children()
,只需
Children()
。检查,它使用
array.Children()
item.Children()
来访问属性。@PanagiotisKanavos我必须在我为andriod development studio使用xamrian的文本周围加上双引号,我认为它在那里相互影响