json字符串不规范 怎么使用parse反序列化
json不规范 亲人两行泪
var myJsonStr = "{name:'张三', 'age':20}"; // 甚至有的key或者value是双引号包起来的 引号都不统一
JSON.parse(myJsonStr);
// 报错:myJsonStr不是一个有效的JSON字符串 (VM244:1 Uncaught SyntaxError: Expected property name or '}' in JSON at position 1)
你的妄想
var myJsonStr = "{name:'张三', 'age':20}";
JSON.stringify(myJsonStr); // 这样是不是就规范了?--回答是:不 你想多了 看看结果
// `"{name:'张三', 'age':20}"`
那要我怎么做?
当然是利用牛逼的eval
// 将不标准的json字符串转为js对象
var myJsonStr = "{name:'张三', 'age':20}";
var jsonStr = eval("("+myJsonStr +")");
// 即 通过stringify序列化js对象 然后即可得出标准的json字符串
var one = JSON.stringify(jsonStr);
// 进而 parse也可以反序列化了
JSON.parse(jsonStr );
一个小知识点
stringify默认不格式化 输出一行
JSON.stringify({name:'张三', 'age':20});
想要格式化则需要加一些参数
JSON.stringify({name:'张三', 'age':20}, null, "\t")
注意事项
像小程序 等某些平台 会不支持或禁用eval
这就没办法了
json字符串不规范 怎么使用parse反序列化的更多相关文章
- C++ 基于rapidjson对json字符串的进行序列化与反序列化
json字符串的解析以封装在我们开发过程中经常见到, 尤其在socket通信上面, 在一次项目中碰到json字符串的进行解析, 而公司有没有封装好的库, 于是就自己基于开源的库进行了一次封装, 接下是 ...
- 数据库里的回车字符导致取过来的json字符串不规范的问题
转发:https://bbs.csdn.net/topics/380192638 你可以报保存数据库之前,进行 替换 str = str.Replace("\r\n"," ...
- Newtonsoft.Json.dll 反序列化JSON字符串
上一篇JSON博客<JSON入门级学习小结--JSON数据结构>中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的: 如今因为项目需求(asp.net web网站,前台向 ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- c# 自定义解析JSON字符串数据
解析json字符串有很多方式, 1 : 在网上下载json解析的dll类库并添加引用, 调用相关方法; 2 : 使用自带类库JavaScriptSerializer的序列号和反序列化; 对于以上两个方 ...
- 解决json字符串转为对象时LocalDateTime异常问题
1 出现异常 这次的异常出现在前端向后端发送请求体里带了两个日期,在后端的实体类中,这两个日期的格式都是JDK8中的时间类LocalDateTime.默认情况下,LocalDateTime只能解析20 ...
- 如何取未知Json字符串 某个主键取对应的Value
需添加引用using Newtonsoft.Json; string strJon "Json 字符串"; JObject obj = JObject.Parse(strJon ...
- 使用 JSON.parse 反序列化 ISO 格式的日期字符串, 将返回Date格式对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JSON字符串序列化与反序列化浅试
一.添加引用(using Newtonsoft.Json.Linq;) 二. 1.生成json字符串源码 List<string> list = new List<string> ...
- c# .net 读取json 字符串 与序列化和反序列化json字符串
命名空间 using Newtonsoft.Json.Linq; JObject obj = JObject.Parse("json字符串");用 obj["" ...
随机推荐
- 🎀文件对比工具--BeyondCompare
简介 Beyond Compare 是一款功能强大的文件和文件夹比较工具,由Scooter Software开发.它可以帮助用户轻松地比较文件和文件夹的差异,并且可以合并变化.同步文件以及备份重要数据 ...
- win mysql实现主从同步(精简版)
最近项目要弄读写分离,那首先要实现主从同步啊,网上教程很多,但大多都看得云里雾里,so,有了这个精简版: 主库my.ini添加配置: #数据库ID号, 为1时表示为Master,其中master_id ...
- 数据结构之位图(bitmap、RoaringMap)
参照资料: 1.https://www.bilibili.com/video/BV1u44y1g7Ps(bitmap) 2.https://b23.tv/cQtuFOx (RoaringMap) 3. ...
- pandas 将excle两行或多行文本合并为一行
原有excle 目的: # j加载另一份数据源 import pandas as pd import xlrd import time from xlutils.copy import copy fr ...
- 【经验】Git|Linux终端git太慢,改hosts、复制文件夹、用镜像源?不不不不不
有个同学问我Linux下想要克隆一个仓库怎么办,并给我发了一个word,记录了他的操作.看完之后我的血压都上来了,遂记之. 下文分成两种情况,克隆一两个仓库,和克隆一大堆仓库. 文章目录 一. ...
- windows11 安装WSL2详细过程
一.什么是 WSL 2 时间来到 2017 年,事情正在起变化.微软正式发布了「适用于 Linux 的 Windows 子系统」,即人们熟知的 Windows Subsystem for Linux, ...
- Centos 7 关于防火墙的命令
有些人安装的linux的系统默认防火墙不是iptables,而是firewall,那就得使用以下方式关闭防火墙了. >>>关闭防火墙 systemctl stop firewalld ...
- 信息资源管理综合题之“LJ集团的知识库和员工离职客户流失问题”
一.集团是北京的一家规模巨大的房地产投资公司,早在15年前,该公司出现了如下几个问题:每个业务员手上的客户资料,其他人无法得知,从而导致员工离职时会流失大量潜在客户:业务员繁忙的时候,无法满足客户用户 ...
- ciscn暨长城杯 广东赛区 ISW阶段应急响应
ciscn暨长城杯 广东赛区 ISW阶段应急响应 题目介绍 小路是一名网络安全网管,据反映发现公司主机上有异常外联信息,据回忆前段时间执行过某些更新脚本(已删除),现在需要协助小路同学进行网络安全应急 ...
- ODOO路由里面的auth="user" 的使用
一.controller介绍:Controller层在odoo里面可以认为是控制器,根据url地址来控制后端的业务和前端的内容展示,我们一般偏向于叫路由控制, 它相当于内网和外网之间的防火墙,外网的请 ...