使用JSON时可以转义字符吗?

时间:2018-10-24 10:53:31

标签: jquery html json

我这部分有问题了。

var content = '{"heading":"I am page heading","col":[{"text":"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.<a href=\"javascript:; \"class=\"inline-link\">\"Duis autem veleum</a> iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi."}]}';

这是我的JSON。

$(document).ready(function(){

//Json
var obj = JSON.parse(hero);
divData(obj);
function divData(obj){
    for (i in obj.row.col){
        $('.col-10 .title').text(obj.row.col[i]);
    }
    for (i in obj.rows.col){
        $('.col-12 .title').text(obj.rows.col[0].title);
    }
    for (i in obj.rows.col){
        $('.col-12 .btn').text(obj.rows.col[1].button);
    }
}

var cont = JSON.parse(content);
divData(cont);
function divData(cont){
    for (i in cont){
        $('.content .row .col-12 .heading').text(cont.heading);
    }
}

我正在寻找“内容”的JS。

<div class="wrapper">
        <section class="content">
            <div class="row">
                <div class="col-12">
                    <h2 class="heading">
                    </h2>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <p class="text">
                        Lorem ipsum dolor sit amet, consectetuer 
                        adipiscing elit, sed diam nonummy nibh euismod 
                        tincidunt ut laoreet dolore magna aliquam erat 
                        volutpat. Ut wisi enim ad minim veniam, quis 
                        nostrud exerci tation ullamcorper suscipit 
                        lobortis nisl ut aliquip ex ea commodo consequat. 
                        <a href="javascript:;" class="inline-link">Duis autem veleum</a> iriure dolor in hendrerit in 
                        vulputate velit esse molestie consequat, vel 
                        illum dolore eu feugiat nulla facilisis at 
                        vero eros et accumsan et iusto odio dignissim 
                        qui blandit praesent luptatum zzril delenit 
                        augue duis dolore te feugait nulla facilisi.
                    </p>
                </div>
            </div>
            <div class="row">
                <div class="col-8">
                    <ul class="content-list">
                        <li>Duis autem vel eum iriure dolor in 
                            hendrerit
                        </li>
                        <li>Lorem ipsum dolor sit amet, 
                            consectetuer adipiscing elit, sed diam 
                            nonummy nibh euismod tincidunt ut laoreet 
                            dolore magna aliquam erat volutpat. Ut 
                            wisi enim ad minim veniam, quis nostrud 
                            exerci.
                        </li>
                        <li>Lbh euismod tincidunt ut laoreet 
                            dolore
                        </li>
                    </ul>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <h3 class="sub-heading">
                        I am page subheading
                    </h3>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <p class="text">
                        At vero eos et accusamus et iusto 
                        odio dignissimos ducimus qui 
                        blanditiis praesentium voluptatum 
                        deleniti atque corrupti quos dolores 
                        et quas molestias excepturi sint 
                        occaecati cupiditate non provident, 
                        similique sunt in culpa qui officia 
                        deserunt mollitia animi, id est 
                        laborum et dolorum fuga. Et harum 
                        quidem rerum facilis est et expedita 
                        distinctio. Nam libero tempore, cum 
                        soluta nobis est eligendi optio cumque 
                        nihil impedit quo minus id quod maxime 
                        placeat facere possimus, omnis voluptas 
                        assumenda est, omnis dolor repellendus.
                    </p>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <p class="text last-txt">
                        Temporibus autem quibusdam et aut 
                        officiis debitis aut rerum necessitatibus 
                        saepe eveniet ut et voluptates repudiandae 
                        sint et molestiae non recusandae. Itaque earum 
                        rerum hic tenetur a sapiente delectus, ut aut 
                        reiciendis voluptatibus maiores alias 
                        consequatur aut perferendis doloribus 
                        asperiores repellat. 
                    </p>
                </div>
            </div>
        </section>
    </div>

在此html中,我需要定位“标题”类。我认为一切都很好。我验证了JSON,一切都很好。我使用https://www.freeformatter.com/json-escape.html#ad-output来转义字符,但是在运行它时仍然出现此错误:

Uncaught SyntaxError: Unexpected token j in JSON at position 328
at JSON.parse (<anonymous>)
at HTMLDocument.<anonymous> (main.js:23)
at j (jquery.min.js:2)
at k (jquery.min.js:2)

因为我需要使用链接,还有其他逃脱此字符的方法吗?

我试图这样逃避。没用

{
    "heading":"I am page heading",
    "col":[ {
        "text": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.<a href=\\"javascript:; \\"class=\\"inline-link\\">\\"Duis autem veleum</a> iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi."
    }
    ]
}

0 个答案:

没有答案