Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

Razor 将C#对象转换成Javascript对象

在Razor中使用Json字符串,特殊字符被自动转义(如:\"->")

@{
    var jsonStr = Html.Raw(JsonUtil.ToJson(VieBag.data));
}
<script>
var data = JSON.parse(@jsonStr);
</script>

ViewBag.Data = list;

<script type="text/javascript">
        //将数据对象转换为 JSON 格式,是为了在网页中通过使用JS将数据作为文本进行处理
        var data = @Html.Raw(Json.Encode(ViewBag.Data));
        for (var i = 0; i < data.length; i++) {
            var model=data[i];
            console.log("编号:"+model.id+"  姓名:"+model.name+"  性别:"+model.sex);
        }
    </script>

var c = document.createElement(‘div‘);
    c.innerHTML = ‘@strData‘;
    var arrData = JSON.parse(c.innerText);

在JS中还原被转码的字符

<script type="text/javascript">
    var a = ‘h&nbsp;hello&lt;world&gt;!!!&lt;script&gt;alert(1)&lt;/script&gt;‘
    alert(a);
    var c = document.createElement(‘div‘);
    c.innerHTML = a;
    a = c.innerText || c.textContent;
    c = null;
    alert(a);
</script>

JS转换HTML转义符

//去掉html标签

function removeHtmlTab(tab) {
 return tab.replace(/<[^<>]+?>/g,‘‘);//删除所有HTML标签
}
//普通字符转换成转意符

function html2Escape(sHtml) {
 return sHtml.replace(/[<>&"]/g,function(c){return {‘<‘:‘&lt;‘,‘>‘:‘&gt;‘,‘&‘:‘&amp;‘,‘"‘:‘&quot;‘}[c];});
}
//转意符换成普通字符

function escape2Html(str) {
 var arrEntities={‘lt‘:‘<‘,‘gt‘:‘>‘,‘nbsp‘:‘ ‘,‘amp‘:‘&‘,‘quot‘:‘"‘};
 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}
// &nbsp;转成空格

function nbsp2Space(str) {
 var arrEntities = {‘nbsp‘ : ‘ ‘};
 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})
}
//回车转为br标签

function return2Br(str) {
 return str.replace(/\r?\n/g,"<br />");
}
//去除开头结尾换行,并将连续3次以上换行转换成2次换行

function trimBr(str) {
 str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行
 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,‘‘);//清除开头换行
 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,‘‘);//清除结尾换行
 return str;
}
// 将多个连续空格合并成一个空格

function mergeSpace(str) {
 str=str.replace(/(\s|&nbsp;)+/g,‘ ‘);
 return str;
}

//去掉html标签


1

2

3

function removeHtmlTab(tab) {

 return tab.replace(/<[^<>]+?>/g,‘‘);//删除所有HTML标签

}

//普通字符转换成转意符


1

2

3

function html2Escape(sHtml) {

 return sHtml.replace(/[<>&"]/g,function(c){return {‘<‘:‘&lt;‘,‘>‘:‘&gt;‘,‘&‘:‘&amp;‘,‘"‘:‘&quot;‘}[c];});

}

//转意符换成普通字符


1

2

3

4

function escape2Html(str) {

 var arrEntities={‘lt‘:‘<‘,‘gt‘:‘>‘,‘nbsp‘:‘ ‘,‘amp‘:‘&‘,‘quot‘:‘"‘};

 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});

}

// &nbsp;转成空格


1

2

3

4

function nbsp2Space(str) {

 var arrEntities = {‘nbsp‘ : ‘ ‘};

 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})

}

//回车转为br标签


1

2

3

function return2Br(str) {

 return str.replace(/\r?\n/g,"<br />");

}

//去除开头结尾换行,并将连续3次以上换行转换成2次换行


1

2

3

4

5

6

function trimBr(str) {

 str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行

 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,‘‘);//清除开头换行

 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,‘‘);//清除结尾换行

 return str;

}

// 将多个连续空格合并成一个空格


1

2

3

4

function mergeSpace(str) {

 str=str.replace(/(\s|&nbsp;)+/g,‘ ‘);

 return str;

}

原文地址:https://www.cnblogs.com/love201314/p/10344755.html

时间: 2024-09-30 20:50:05

Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符的相关文章

将Clob对象转换成String对象

/** * 将Clob对象转换成String对象 * @param clob * @return * @throws SQLException * @throws IOException */ public static String ClobToString(Clob clob) throws SQLException, IOException{ String str=""; Reader reader=clob.getCharacterStream();//得到流 Buffered

json字符串转json对象,json对象转换成java对象

@RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @ResponseBody public void updateInvestorApplyAccountNo(HttpServletRequest request, HttpServletResponse response, @RequestBody String requestBody) { int num = 0;

json字符串转成 json对象 json对象转换成java对象

import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version></dependency> String r

把json格式的字符串转换成javascript对象或数组

第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ToJSON(o){ if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;} })("[{name:'zhangsan',age:'24'},{na

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

主要内容: 一.json相关概念 二.json字符串转换成json对象 (字符串-->JSON对象) 三.json对象转换成字符串(json对象-->字符串) 四.将值转换成字符串(值-->字符串) 五.字符串转成值(字符串-->值) 同步的交流学习社区:http://www.mwcxs.top/page/425.html 一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想

json里的日期字符串 怎么 转换成 javascript 的 Date 对象?

“/Date(1232035200000)/” 怎么转换成  javascript 的 Date 对象 做法:new Date(+/\d+/.exec(value)[1]); value就是json字符串,字符串内容是 /Date(ticks)/,其中 ticks 表示从 epoch (UTC) 开始的毫秒数.因此,UTC 时间 1989 年 11 月 29 日 4:55:30 AM 将编码为“/Date(628318530718)/”.

JavaScript基础学习之-JavaScript权威指南--3.8.3对象转换成原始值

对象转换成原始值 对象到布尔:比较简单所有对象到布尔都是true,包括包装类new Boolean(false)是一个对象而不是原始值,它将转换为true 对象到数字,对象到字符串比较复杂一些.注意这里讨论的是本地对象,不包含宿主对象(例如浏览器定义的对象) 所有对象继承了两个转换方法. 第一种toString() 它的作用是返回一个反映这个对象的字符串.默认的toString()方法并不会返回一个有趣的值. 很多类定义了特定版本的toString()方法: 数组的toString()方法将每个

JSON对象转换成JSON字符串

1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

前台 JSON对象转换成字符串 相互转换 的几种方式

在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收.有时传递了几个数值,还好接收.但是如果传递一个json数组,这样后台接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递.例如下面的例子: 前台按类的格式传递JSON对象: var jsonUserInfo = "{\"TUserName\&quo