Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在反序列化之前对JSON字符串进行编码_C#_Json_.net 4.0_Json.net - Fatal编程技术网

C# 在反序列化之前对JSON字符串进行编码

C# 在反序列化之前对JSON字符串进行编码,c#,json,.net-4.0,json.net,C#,Json,.net 4.0,Json.net,我从第三方获取原始JSON格式作为字符串(未编码)。所以,当我尝试反序列化字符串时,由于额外的双引号,我收到了解析错误消息。是否可以在反序列化之前序列化字符串或在反序列化之前转义任何特殊字符?请让我知道。 我试着用反斜杠替换,但没用 { "Detail":{ "date1": "06-JAN-2016", "summary": "test """""""""""", "city": "TEST" } } string escapeJson = jso

我从第三方获取原始JSON格式作为字符串(未编码)。所以,当我尝试反序列化字符串时,由于额外的双引号,我收到了解析错误消息。是否可以在反序列化之前序列化字符串或在反序列化之前转义任何特殊字符?请让我知道。 我试着用反斜杠替换,但没用

{
  "Detail":{
     "date1": "06-JAN-2016",
     "summary": "test """""""""""",
     "city": "TEST"
     }
}

string escapeJson = jsonFile.Replace(@"\", "");


var myJsonObject = JsonConvert.DeserializeObject<RootObject>(escapeJson);


public class RootObject
{
    public Detail detail { get; set; }
}

public class Detail
{
    public DateTime date1{ get; set; }
    public string summary{ get; set; }
    public string city{ get; set; }
}
{
“细节”:{
“日期1”:“2016年1月6日”,
“摘要”:“测试”,
“城市”:“测试”
}
}
字符串escapeJson=jsonFile.Replace(@“\”,“”);
var myJsonObject=JsonConvert.DeserializeObject(escapeJson);
公共类根对象
{
公共详细信息{get;set;}
}
公共类详细信息
{
公共日期时间日期1{get;set;}
公共字符串摘要{get;set;}
公共字符串city{get;set;}
}

这意味着JSON无效。这个问题需要在序列化端或生产端解决,而不是反序列化(消费端)因为我无法控制产生端,所以有可能在我这方面进行更正吗?在序列化之前必须转义字符串是有原因的。您正面临一个原因。CodingYoshi是对的,json数据无效,因此无法由json解析。请与api端点所有者联系,从他们这方面解决此问题,以便u可能会收到有效的json。这意味着json无效。这个问题需要在序列化端或生产端解决,而不是反序列化(消费端)因为我无法控制产生端,所以有可能在我这方面进行更正吗?在序列化之前必须转义字符串是有原因的。您正面临一个原因。CodingYoshi是对的,json数据无效,因此无法由json解析。请与api端点所有者联系,从他们这方面解决此问题,以便您可能会收到有效的json。