weixin_42196168 2022-11-10 14:23 采纳率: 20%
浏览 75
已结题

正则表达式获取Script中的Json字符串

正则表达式获取Json字符串
<script type="text/javascript" src="/retail/retail-static/xx/scripts/ac-globalfooter.built.js"></script>
<script id="__NEXT_DATA__" type="application/json">
    {"props":{members:{
        "Name":"_test".
        "Age":30,
        "HeadUrl":"http://www.baidu.com"
    }},
    "a":"123",
    "b":"123",
    "c":"123"}
</script>
<script type="text/javascript" src="/retail/retail-static/xx/scripts/ac-globalfooter.js"></script>
我希望使用正则表达式获取<script id="__NEXT_DATA__" type="application/json"></script>中的json对象。我用的是C#。辛苦大家,麻烦大神了。

  • 写回答

4条回答 默认 最新

  • aabond 2022-11-10 15:23
    关注
    
    using System;
    using System.Text.RegularExpressions;
    namespace HelloWorldApplication
    {
       class HelloWorld
       {
          static void Main(string[] args)
          {
             string input =  "<script type=\"text/javascript\" src=\"/retail/retail-static/xx/scripts/ac-globalfooter.built.js\"></script>" +
                "<script id=\"__NEXT_DATA__\" type=\"application/json\">" +
                    "{\"props\":{members:{" +
                        "\"Name\":\"_test\"." +
                        "\"Age\":30," +
                        "\"HeadUrl\":\"http://www.baidu.com\""+
                    "}}," +
                    "\"a\":\"123\"," +
                    "\"b\":\"123\"," +
                    "\"c\":\"123\"}" +
                "</script>" +
                "<script type=\"text/javascript\" src=\"/retail/retail-static/xx/scripts/ac-globalfooter.js\"></script>";
    
              string pattern = "(?<=<script id=\"__NEXT_DATA__\" type=\"application/json\">).*?(?=</script>)";
    
              Regex reg = new Regex(pattern);
              Match match = reg.Match(input);
              string value = match.Groups[0].Value;
              Console.WriteLine("json为:{0}", value);
              Console.ReadKey();
          }
       }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月10日

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败