C# 从html字符串中提取json对象

C# 从html字符串中提取json对象,c#,.net,C#,.net,我被一个问题困住了,我从一个包含html的web请求中得到一个字符串,但在这个html中有一个json对象,我需要将它解析为一个对象,以便在代码中使用,但我被困住了,不知道如何做到这一点 我尝试使用IndexOf()和LastIndexOf(),但当我尝试将它们指向第一个和最后一个大括号时,我得到了一个索引-1和一个异常 有什么想法吗 编辑: 我也试着把它转换成一个字符列表,然后在上面乱写,但是当它被转换时,大括号就消失了,位置是一个空条目 编辑2: 添加了我从请求中获得的html,它的第3-5

我被一个问题困住了,我从一个包含html的web请求中得到一个字符串,但在这个html中有一个json对象,我需要将它解析为一个对象,以便在代码中使用,但我被困住了,不知道如何做到这一点

我尝试使用IndexOf()和LastIndexOf(),但当我尝试将它们指向第一个和最后一个大括号时,我得到了一个索引-1和一个异常

有什么想法吗

编辑: 我也试着把它转换成一个字符列表,然后在上面乱写,但是当它被转换时,大括号就消失了,位置是一个空条目

编辑2:

添加了我从请求中获得的html,它的第3-5行是我需要提取的


您能提供您收到的html字符串吗

更新:

可能是编码有问题

尝试:

如果你在上面的链接中找不到解决方案,请发布你正在使用的代码

  • 可以使用正则表达式剪切Json文本
  • 使用Newtonsoft.Json包解析Json文本
  • string htmlText=Resources.html;
    字符串jsonPtn=@“\{(?:[^\{}]\;(?\{)\}(?\}))+(?(o)(?!)\}”;
    字符串输入=htmlText.Substring(htmlText.IndexOf(“redirectResponse=”);
    Match Match=Regex.Matches(输入,jsonPtn,RegexOptions.Multiline | RegexOptions.IgnoreCase)[0];
    字符串jsonText=match.Groups[0]。值;
    var jsonObj=JObject.Parse(jsonText);
    
    jsonObj将类似于:

    {{ “消息ID”:“4232450191”, “错误代码”:0, “sessionToken”:{ “sessionToken”:“Trabffrpwyx4fgdhzorbydaaoicwcdo”, “发行人系统ID”:“380”, “creationTime”:{ “时间戳”:“2016-02-11T03:58:30-05:00” }, “到期时间”:{ “时间戳”:“2016-02-11T04:03:30-05:00” }, “maxIdlePeriod”:0 }, “现实模式”:1, “用户名”:“我的用户名”
    }}

    公共类MyHtmlTagRemover{

    public static void main(String a[]){
        String text = "<B>I don't want this to be bold<\\B>";
        System.out.println(text);
        text = text.replaceAll("\\<.*?\\>", "");
        System.out.println(text);
    }
    
    publicstaticvoidmain(字符串a[]){
    String text=“我不想用粗体显示”;
    System.out.println(文本);
    text=text.replaceAll(“\\”,“”);
    System.out.println(文本);
    }
    

    }

    如果您不帮助我们了解您正在做什么,我们将如何帮助您?你在用什么图书馆?代码的相关部分是什么样子的?我正在使用c#.net,试图从服务器上收到的web请求中提取json对象。我正在用我的程序开发该网站的登录功能。添加了我在邮件帖子中得到的回复。太棒了!这对我帮助很大!
    public static void main(String a[]){
        String text = "<B>I don't want this to be bold<\\B>";
        System.out.println(text);
        text = text.replaceAll("\\<.*?\\>", "");
        System.out.println(text);
    }