http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3380|回复: 0

[C#语言基础] json返回 html转正常html源码

[复制链接]
发表于 2014-3-30 14:57:59 | 显示全部楼层 |阅读模式
本帖最后由 fly_sky_su 于 2014-3-30 15:05 编辑

以下是json返回的部分内容,因为太多,就贴这么多吧 这种形式的返回结果post get返回的数据中中很常见
[HTML] 纯文本查看 复制代码
{"error":false,"html":"<div class=\"b_nrk_body cl\" style=\"padding-bottom:15px;\" id=\"item_1\">\n<p><textarea class=\"b_nrk_nr\" id=\"content_1\" index=\"1\">\u4e24\u53ea\u8001\u864e\u6253\u67b6\uff0c\u732a\u4e3a\u6253\u8d62\u7684\u8001\u864e\u53eb\u597d\u3002\u5176\u5b9e\uff0c\u8001\u864e\u6253\u67b6\u662f\u4e3a\u4e86\u51b3\u5b9a\u8c01\u5403\u8fd9\u5934\u732a\u3002<\/textarea><\/p>\n<div class=\"b_nrk_nr2 cl\">\n            <a href=\"javascript:void(0);\" index=\"1\" class=\"b_nrk_ht l\">\\u8bdd\u9898<\/a>\n\n 




通过其它工具转换后的结果(自己想要得到的 目标结果)
[HTML] 纯文本查看 复制代码
{"error":false,"html":"<div class="b_nrk_body cl" style="padding-bottom:15px;" id="item_1">
<p><textarea class="b_nrk_nr" id="content_1" index="1">两只老虎打架,猪为打赢的老虎叫好。其实,老虎打架是为了决定谁吃这头猪。</textarea></p>
<div class="b_nrk_nr2 cl">
            <a href="javascript:void(0);" index="1" class="b_nrk_ht l">话题</a>


从网络查询到一段转换的方法
[C#] 纯文本查看 复制代码
        //UNICODE字符转为中文 
        //对这个方法做一点改进 使他支持中英混排 
        public static string Unicode2String(string unicodeString) 
        { 
        if (string.IsNullOrEmpty(unicodeString)) 
        return string.Empty; 

        string outStr = unicodeString; 

        Regex re = new Regex("\\\\u[0123456789abcdef]{4}", RegexOptions.IgnoreCase); 
        MatchCollection mc = re.Matches(unicodeString); 
        foreach (Match ma in mc) 
        { 
        outStr = outStr.Replace(ma.Value, ConverUnicodeStringToChar(ma.Value).ToString()); 
        } 
        return outStr; 
        } 

        private static char ConverUnicodeStringToChar(string str) 
        { 
            char outStr = Char.MinValue; 
            outStr = (char)int.Parse(str.Remove(0, 2),  System.Globalization.NumberStyles.HexNumber); 
            return outStr; 
        }

以上代码转换后的结果如下(只把json返回的源码中的Unicode转成了中文,其它转义字符 \ \n没有变化)
[HTML] 纯文本查看 复制代码
{"error":false,"html":"<div class=\"b_nrk_body cl\" style=\"padding-bottom:15px;\" id=\"item_1\">\n<p><textarea class=\"b_nrk_nr\" id=\"content_1\" index=\"1\">两只老虎打架,猪为打赢的老虎叫好。其实,老虎打架是为了决定谁吃这头猪。<\/textarea><\/p>\n<div class=\"b_nrk_nr2 cl\">\n            <a href=\"javascript:void(0);\" index=\"1\" class=\"b_nrk_ht l\">话题<\/a>\n\n


如果用替换的方法去掉 \ \n  但得到的结果并不会换行,有没有一次性就能得到目标结果的方法呢,求助!!!!




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 15:55

© 2014-2021

快速回复 返回顶部 返回列表