Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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 JObject.Parse的根_C#_Json_Parsing_Json.net - Fatal编程技术网

C# 删除JSON JObject.Parse的根

C# 删除JSON JObject.Parse的根,c#,json,parsing,json.net,C#,Json,Parsing,Json.net,我有一个JSON字符串,如下所示,当我用JObject.parse解析它时,我有一个异常,因为在开头有一个根,所以现在我想删除根。在这种情况下,我在Internet上搜索了一些示例,但没有使用JObject.parse var data = JObject.Parse(content) 设置.回调._2{listDatesDebut:[2014-06-20],listDatesFin:[2014-06-212014-06-222014-06-232014-06-242014-06-252014

我有一个JSON字符串,如下所示,当我用JObject.parse解析它时,我有一个异常,因为在开头有一个根,所以现在我想删除根。在这种情况下,我在Internet上搜索了一些示例,但没有使用JObject.parse

var data = JObject.Parse(content)
设置.回调._2{listDatesDebut:[2014-06-20],listDatesFin:[2014-06-212014-06-222014-06-232014-06-242014-06-252014-06-262014-06-272014-06-282014-06-292014-06-302014-07-012014-07-022014-07-032014-07-042014-07-052014-07-062014-07-082014-07-092014-07-102014-07-112014-07-122014-07-142014-07-07-152014-07-07-162014-07-014-014-014-07-1728]分类表:[{IDCategateName:1,NomCategateName:123 double},{IDCategateName:3,NomCategateName:PMR},{IDCategateName:2,NomCategateName:2 lits simples}],listThemes:[{IDThemes:1,NomThemes:STANDARD CAR

在本例中,我想删除根设置.callbacks.\u 2和根的最后一个右括号

您可以使用Regex

var json = Regex.Match(jsonp, @".+\((.+)\).+").Groups[1].Value;
编辑


顺便说一句,如果您正在使用,只需从url中删除回调参数,那么您将得到一个干净的json。

因为您知道您想要的是输入字符串中第一个括号和最后一个括号之间的内容,所以您只需找到这些内容的索引,并获取它们之间的内容:

int i = input.IndexOf('(');
int j = input.LastIndexOf(')');
string json = input.Substring(i + 1, j - i - 1);
JObject jo = JObject.Parse(json);

最好的方法是改变字符串,删除不是这三个字符之一的任何内容{,或者。@lucuma的可能副本,这一个与json字符串中URL编码的内容无关。他想去掉开头的函数名和周围的参数。虽然回答了这个问题,但这一点很好。我删除了我的投票。@lucuma。哦,我假设他不知道回调函数的名称。谢谢,但是它不起作用,因为我只是想删除设置.callbacks.\u 2在开始时输入根的名称,并保留所有rest@TrangZinita不起作用并不意味着什么。你有错误吗?不是你期望的结果吗?你使用的完整输入是什么?我用有问题的字符串测试了上面的代码,它确实起作用。是的,当我尝试它时,它去掉Json字符串中的一个字符串,忽略所有其他字符串,Json中的一个字符串太长,我无法将其全部粘贴到这里。首先,它是一个字符串和设置。回调。_2在开头,一个结束括号在结尾,中间是Json值,这就是我希望保留的内容