中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的

假设有这样一段json格式的字符串

 var json={
"school": [
{
"school_id": "007",
"name": "大西安帝国皇家财经学院",
"position": "西安",
"student_num": 40000,
"desc": "西财人杰地灵,\n美女如云" //中间出现换行符\n
},
{
"school_id": "009",
"name": "湘潭大学",
"position": "湖南",
"student_num": 60000,
"desc": "湘大好,\n好的很"
}
]
}

假如上面这段json是string类型 现在需要转成object类型调用里面的值

一般情况下用JSON.parse(json);来将字符串转换为对象的json;

var data=JSON.parse(json);

但是由于出现了特殊字符\n 并没有转换成功

alert(typeof data);

并没有返回object

接下来我们需要编写一个函数将json字符串里的特殊字符去掉然后再将去掉后的json字符串转为对象类型

function json_obj(str){
var pattern= new RegExp("[\n]") ; //创建一个包含\n的正则对象
var result=""; //定义一个空字符
for(var i=0;i<str.length;i++){
result=result+str.substr(i,1).replace(pattern,'');//逐字检索 发现\n就换为空;
}
return result; //返回转换完成的新json字符串
}

将转换后的json字符串转换为对象类型

var data=json_obj(json);
alert(typeof data); //object

当然可能不止遇到\n这一种情况,检查json看是哪种特殊字符导致的错误  然后正则表达式设置哪种字符;

json格式的字符串转为json对象遇到特殊字符问题解决的更多相关文章

  1. JSon_零基础_006_将JSon格式的字符串转换为Java对象

    需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...

  2. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  3. JAVA中如何将一个json形式的字符串转为json对象或对象列表

    import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...

  4. JAVA中如何将一个json形式的字符串转为json对象

    import java.io.*; import org.json.*; public class Demo { public static void main(String[] args) thro ...

  5. js 如何把JSON格式的字符串转换为JSON对象

    直接用eval函数.例:var str1 = '{ "url": "www.51qdq.com", "name": "js&quo ...

  6. JSON字符串转为JSON对象

    在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是对象,所以,JSON对象(js对象)和JSON字符串之间的相互转换是关键. JSON可以有两种格式,一种是对象格式的,另一种是数 ...

  7. json字符串转为json对象-jQuery.parseJSON()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 如何利用fastjson将JSON格式的字符串转换为Map,再返回至前端成为js对象

    //注意,这里的jsonStr是json格式的字符串,里面如果遇到双引号嵌套双引号的,一般是嵌套的双引号经过转义 //    \",假如有这样的一个场景,这些字符串里面有需要的css样式的j ...

  9. Java Json格式的字符串转变对象

    Java Json格式的字符串转变对象: 方法还是比较多的: 学习:https://my.oschina.net/heweipo/blog/386808 其中的jsonlib说明:http://www ...

随机推荐

  1. 人工智能起步-反向回馈神经网路算法(BP算法)

    人工智能分为强人工,弱人工. 弱人工智能就包括我们常用的语音识别,图像识别等,或者为了某一个固定目标实现的人工算法,如:下围棋,游戏的AI,聊天机器人,阿尔法狗等. 强人工智能目前只是一个幻想,就是自 ...

  2. [转]adb pull Permission denied及no such file错误

    adb pull  Permission denied及no such file错误 http://www.the8m.com/blog/article/javadk/adbpull.html XP系 ...

  3. SpringMVC Cache注解+Redis

    依赖jar包:Xml代码  收藏代码 <!-- redis -->              <dependency>                  <groupId ...

  4. net windows Kafka

    net windows Kafka 安装与使用入门(入门笔记) 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建 ...

  5. VSC 使用Git进行版本控制

    Visual Studio Code 使用Git进行版本控制 请确保你安装了最新的VS Code.http://code.visualstudio.com/ 请确保安装了最新版的Git.https:/ ...

  6. Careercup - Facebook面试题 - 23869663

    2014-05-02 03:37 题目链接 原题: A string is called sstring if it consists of lowercase english letters and ...

  7. 传说中的Markov"不过如此”

    因为看一篇题为 Passive Measurement of Interference in WiFi Network with Application in Misbehavior Detectio ...

  8. git Clone SSL certificate problem: self signed certificate

    自己的git服务器遇到证书是自签的,git验证后会拒绝,此时,采用如下命令临时禁用就好 git -c http.sslVerify=false clone https://domain.com/pat ...

  9. HtmlAgilityPack 简单运用

    WebClient client = new WebClient(); MemoryStream ms = new MemoryStream(client.DownloadData("htt ...

  10. catci监控

    snmp安装:yum install net-snmp* 配置/etc/snmp/snmpd.conf:com2sec notConfigUser 192.168.79.129    publicac ...