JSON解析值富文本

Posted Ranch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON解析值富文本相关的知识,希望对你有一定的参考价值。

解析前端传递的JSON数据中可能如下

{ "result": "<input value="Test" type="button" onclick="alert(""OK"");" />", "msg": "test"} 

此时去解析是无法解析出来的,存在 / 空格 多的双引号,

参考多个结果

针对双引号(利用中文双引号代替多余的英文双引号后去解析JSON串)

public String jsonStringConvert(String s) {
        char[] temp = s.toCharArray();
        int n = temp.length;
        for (int i = 0; i < n; i++) {
            if (temp[i] == ‘:‘ && temp[i + 1] == ‘"‘) {
                for (int j = i + 2; j < n; j++) {
                    if (temp[j] == ‘"‘) {
                        if (temp[j + 1] != ‘,‘ && temp[j + 1] != ‘}‘) {
                            temp[j] = ‘”‘;
                        } else if (temp[j + 1] == ‘,‘ || temp[j + 1] == ‘}‘) {
                            break;
                        }
                    }
                }
            }
        }
        return new String(temp);
    }

针对空格(先调用此方法)

public String replaceBlank(String str) {
        String dest = "";
        if (str != null) {

            Pattern p = Pattern.compile("\s*|	|
|
");
            Matcher m = p.matcher(str);
            dest = m.replaceAll("");
            // Pattern p2 = Pattern.compile("\s*"");
            // Matcher m2 = p2.matcher(dest);
            // dest = m2.replaceAll("‘");
            dest = dest.replace("="", "=‘");
            p = Pattern.compile(""*>");
            m = p.matcher(dest);
            dest = m.replaceAll(">‘");
        }
        return dest;

    }

以上会造成数据的格式少了空格,需要自己去添加上(不能很好的解决问题)

对双引号进行转译

对富文本加密,后台解密存储

 

 

 

 

参考:https://blog.csdn.net/jbb0403/article/details/45918693

  :

以上是关于JSON解析值富文本的主要内容,如果未能解决你的问题,请参考以下文章

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

NSDebugDescription = "JSON 文本没有以数组或对象开头,并且允许未设置片段的选项。";

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

片段中的 JSON 解析 [关闭]

Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”

如何在 Ios 中解析数组数据中的嵌套 Json 对象