删除JSON JObject.Parse的根目录

本文关键字:根目录 Parse JObject JSON 删除 | 更新日期: 2023-09-27 18:07:00

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

var data = JObject.Parse(content)

setting.callbacks._2({"listDatesDebut":"2014-06-20","listDatesFin":["2014-06-21"、"2014-06-22"、"2014-06-23","2014-06-24","2014-06-25","2014-06-26","2014-06-27","2014-06-28","2014-06-29","2014-06-30","2014-07-01","2014-07-02","2014-07-03","2014-07-04","2014-07-05","2014-07-06","2014-07-07","2014-07-08","2014-07-09","2014-07-10","2014-07-11","2014-07-12","2014-07-14","2014-07-15","2014-07-16","2014-07-17","2014-07-18"、"listCategoriesThemes":[{"idCategorieTheme":1、"nomCategorieTheme":123双"},{"idCategorieTheme":3,"nomCategorieTheme":"PMR"},{"idCategorieTheme":2,"nomCategorieTheme":"2lits simple "}],"listThemes":[{"idTheme":1,"nomTheme":"STANDARD CAR"…)

在这个例子中,我想删除根setting.callbacks。_2(和根

删除JSON JObject.Parse的根目录

的最后一个右括号)

可以使用Regex

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

编辑

顺便说一句,如果你正在使用这个API,只要从你的url中删除回调参数,然后你会得到一个干净的 json。

既然您知道您想要的是在输入字符串的第一个和最后一个括号之间,那么您可以找到它们的下标并取其中的值:

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