[js] 處理字符串換行造成的json解析失敗

?

?

需求:從數據庫某個字段取出字符串出來,轉為json,結果發現報錯為 解析失敗,發現是因為取出的字符串換行導致,現在需要將字符串里面的換行替換為'',使字符串可依成功解析成json對象。

技術:依靠replace函數實現

----------------------------------------
數據庫里面的
----------------------------------------

{"choiceList":{"A":"<p><span>spare</span></p>","B":"<p><span>fast&nbsp;</span></p>","C":"<p><span>moderate</span></p>","D":"<p><span>moral</span></p>"}}

----------------------------------------
去掉多余空格后的樣子
----------------------------------------

{"choiceList":{"A":"<p><span>spare</span></p>","B":"<p><span>fast&nbsp;</span></p>","C":"<p><span>moderate</span></p>","D":"<p><span>moral</span></p>"}}

----------------------------------------
最后的解析成功的
----------------------------------------

{"choiceList": {"A": "<p><span>spare</span></p>", "B": "<p><span>fast </span></p>", "C": "<p><span>moderate</span></p>", "D": "<p><span>moral</span></p>"}
}

?

關鍵代碼:

var json=異常字符串
json = json.replace(/\n/g,"").replace(/\r/g,"");//去掉字符串中的換行符
json = json.replace(/\n/g,"").replace(/\s|\xA0/g,"");//去掉字符串中的所有空格
var jsonObj= eval('(' + json + ')'); //將字符串解析成json對象

console.log(jsonObj);

?

測試:

http://www.w3school.com.cn/tiy/t.asp?f=jquery_hide<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>$(document).ready(function(){var json='{"choiceList":           {"A2":"<p>\n\n<span>                  spare</span>\n\n</p>","B":"<p>\n\n<span>fast&nbsp;</span>\n\n</p>","C":"<p>\n\n<span>              moderate</span>\n\n</p>","D":"<p>\n\n<span>moral</span>\n\n</p>"}}';json = json.replace(/\n/g,"").replace(/\r/g,"").replace(/\s|\xA0/g,"");var jsonObj= eval('(' + json + ')');console.log(jsonObj);});
</script>
</head>
<body>
<p>請在console控制臺看結果</p>
</body>
</html>

?

轉載于:https://www.cnblogs.com/avivaye/p/9298265.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251287.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251287.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251287.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用mockjs模擬數據

一、安裝 簡單粗暴 npm install mockjs 二、引入 CommonJS引入 let Mock require(mockjs) let userInfo Mock.mock({data: {responseCode: 200,responseMessage: success,userMessage: {name: "cname",email: "email",msg: cparagraph(2)}} })或者ES…

angular --- ngDialog關閉當前層

今天做項目,使用ngDialog 彈出了一層,并且在彈出層上又彈出了第二層. 現在想點擊確定按鈕關閉第二層. 使用以前的ngDialog.close()會關閉掉全部ngDialog.open方法彈出來的層. 在網上查了一堆,找了好多,最后發現就一句話.$scope.closeThisDialog(); 注意, 要在controller:中傳遞…

lodash源碼分析之compact中的遍歷

小時候&#xff0c; 鄉愁是一枚小小的郵票&#xff0c; 我在這頭&#xff0c; 母親在那頭。 長大后&#xff0c;鄉愁是一張窄窄的船票&#xff0c; 我在這頭&#xff0c; 新娘在那頭。 后來啊&#xff0c; 鄉愁是一方矮矮的墳墓&#xff0c; 我在外頭&#xff0c; 母親在里頭。…

[HAOI2008]移動玩具

這又是一道神奇的搜索題。。。只要記錄每種狀態。。。然后暴力判斷這種狀態往后一步的情況。。。 廣搜出最優解即可。。。 呆碼&#xff1a; #include<iostream> #include<cstdio> #include<queue> #include<cstring> using namespace std;int dx[5]{0…

javascript --- Sortable一個拖拽的接口

最近項目里面要實現需要實現一個拖拽功能,自己實現很麻煩,就在網上找到了一個封裝好的sortable函數,github(https://github.com/SortableJS/Sortable). 首先是依賴的引入:(也可以自己下載源代碼導入,方式很多呢) <body><!-- Latest compiled and minified CSS -->…

個人發展戰略6天課

第一課 冰山模型 【知道自己為什么會不喜歡一份工作】 衡量和一個崗位是否匹配、匹配程度如何 從上到下的要素 知識技能&#xff08;30%&#xff09;特定領域 - 可以后天學習的&#xff0c;顯性的、容易看出來的 和工作的關系&#xff1a; 工作中有陌生的內容&#xff0c;每天…

《Web全棧工程師的自我修養》

1. 什么是全棧工程師 Full-Stack Engineer Facaebook只招全棧工程師&#xff1f; Web開發流程 產品經理-->交互設計-->視覺設計-->開發&#xff08;前端、后端&#xff09;-->測試-->發布 流水線的優勢 “各司其職”的弊端 工程師職責不清導致效率低工程師缺乏主…

div設置overflow-scroll滾動之后,jq獲取其子元素的offset.top出現問題。

先上個圖&#xff1a; 布局很簡單&#xff0c;左右超過屏幕的部分自行滾動。 1. html <div class"ce-container"><div class"ce-leftBox">//左邊的內容</div><div class"ce-rightBox">//右邊的內容 </div…

javascript --- 利用Sortable實現一個可視化公式編輯器

Sortable的依賴引入和簡單使用參見:https://blog.csdn.net/piano9425/article/details/90437182 先簡單的介紹一下可視化公式編輯器的功能(樣式沒有調,畢竟每個人的需求都不一樣): 首先會有2個需要計算的(我稱為操作數)A_XiangRaoZuWenSheng和AYKZQ_CS,以及兩個操作符ADD(加法…

使用uni-app搭建微信小程序

0 問題待解決 import { } 與否為什么要封裝對齊問題每次重啟項目&#xff0c;sitemap就會消失動態修改標題失效圖片問題多多 &#xff1a;高度自適應 改成image固定高度&#xff0c;mode&#xff1a;aspectFill微信小程序文檔b站視頻鏈接后端接口文檔 一、知識點 uni-app 是…

HttpTomcat

本節內容&#xff1a; Http協議Tomcat服務器下面開始的一系列內容都是JavaEE的內容&#xff0c;主要的內容見下圖。JavaEE主要是做服務器端開發。 JavaEE全部規范&#xff1a;有13門技術&#xff0c;主要做web開發的需要學習servlet和jsp。其他技術&#xff0c;像EJB、 JNDI、J…

python---線程與進程

一 線程 1.1 概述 線程是操作系統能夠進行運算調度的最小單位。它被包含在進程之中&#xff0c;是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流&#xff0c;一個進程中可以并發多個線程&#xff0c;每條線程并行執行不同的任務。 Threading用于提供線程相關…

jquery常見操作分享

參考: https://www.cnblogs.com/eager/p/7133270.html

es 插件

類 若 實現NativeScriptFactory接口。A factory to create instances of either {link ExecutableScript} or {link SearchScript} 只是一個工廠類&#xff0c;仍需要 創建 上面二者之一。實際中 需 創建 類 繼承 SearchScript接口的實現類AbstractSearchScript 的 子類 Abstra…

使用uni-app報錯this.setData is not a function

一、報錯 出現this.setData is not a function報錯的絕大多數情況是&#xff0c;在回調時&#xff0c;this指向作用域為當前異步方法所在的對象&#xff0c;詳見微信小程序異常處理——this.setData is not a function報錯處理 二、排查原因 但我并沒有在回調中使用this.set…

搭建SpringBoot服務器,在公司內網中使用

搭建SpringBoot服務器&#xff0c;在公司內網中使用。 學習了&#xff1a;https://blog.csdn.net/z3881006/article/details/78902231 就是一個程序&#xff0c;托管于github&#xff1b;https://github.com/spring-io/initializr 轉載于:https://www.cnblogs.com/stono/p/9301…

javascrpt --- 使用jquery添加dom元素和Angular ng-repeat生成select性能比較

今天用兩種方法實現了動態的給select添加option的功能. 第一種是用jquery. // html <select id"drag-pointList"></select> // js $(#drag-pointList).children(option).remove(); // 清空之前的option let list res.data.list ; // res是ajax請…

任何時候,寫下一個類,一定要有三個函數

1、默認構造函數 2、拷貝構造函數 3、虛 析構函數轉載于:https://www.cnblogs.com/buddho/p/8076165.html

【C語言及程序設計】項目2-15:模塊化的簡單銀行系統設計

問題描述&#xff1a; https://edu.csdn.net/course/play/456/4808 // 銀行系統.cpp: 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <stdlib.h> #pragma warning (disable: 4996)int PassTest(); void ibalance(); void withdraw(); void de…

jquery --- 使用when方法等待2個異步事件結束后執行某一個函數.

$.when(promise1, promise2) .done(function(args1, args2){console.log(args1 args2); }// 上述代碼,等待promise1和promise2執行完,打印出(promise1和promise2)使用的參數 // 注:1.promise1和promise2是異步調用的函數,如ajax請求 // 2.如果執行promise1時用到了一個參數…