首页 > 其他分享 >js 把字符串转成json对象的三种方法

js 把字符串转成json对象的三种方法

时间:2023-01-29 19:56:07浏览次数:60  
标签:转成 JSON js parse json str 字符串

转自js将字符串转换成json的三种方式

不管字符串是否含有转义字符,都能转换成 Json 对象

1, js自带的eval函数,其中需要添加小括号eval('('+str+')');

function strToJson(str){
  var json = eval('(' + str + ')');
  return json;
}

2,new Function形式

function strToJson(str){
  var json = (new Function("return " + str))();
  return json;
}

3,全局的JSON对象

function strToJson(str){
  return JSON.parse(str);
}

使用 这种方式限制稍微多一些,需严格遵守JSON规范,如属性都需用引号引起来,如下

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。

如果字符串是 undefined 或者 '',使用上面三种方式都会报错,所以需要先特殊判断一下字符串是否是 undefined 或者空字符串,如果不是则可以使用上面的三种方式来转换,一般都是使用第一中方法,最简单。

转自js将字符串转换成json的三种方式

标签:转成,JSON,js,parse,json,str,字符串
From: https://www.cnblogs.com/hi3254014978/p/17073706.html

相关文章

  • NodeJS 实战系列:如何设计 try catch
    本文将通过一个NodeJS程序里无效的错误捕获示例,来讲解错误捕获里常见的陷阱。错误捕获不是凭感觉添加trycatch语句,它的首要目的是提供有效的错误排查信息,只有精心设计......
  • JS原型与原型链
    JS原型与原型链1、理解原型1、所有的引用类型(数组、函数、对象)可以自由扩展属性(除null以外)2、所有的引用都有一个"proto"属性(也叫隐式原型,它是一个普通的对象)3、所......
  • .eslintrc.json
    "extends":["eslint:recommended","plugin:react/recommended","plugin:@typescript-eslint/recommended"],"rules":{"import/no-extraneous-dependencies......
  • stylelint.config.js
    module.exports={extends:['stylelint-config-standard-scss'],plugins:['stylelint-scss'],rules:{indentation:[2],'max-empty-lines':1,......
  • Node.js 安装配置
    本章节我们将向大家介绍在Windows和Linux上安装Node.js的方法。本安装教程以Node.jsv4.4.3LTS(长期支持版本)版本为例。Node.js安装包及源码下载地址为:https:/......
  • Servlet和JSP之间的区别
    Servlet和JSP之间的区别简单来说,Servlet是Java中的Html,JSP是Html中的Java。JSP和Servlet的主要目的是相同的,但是两者还是有些重要的区别。 1、Servlet和JSP之间的区别......
  • js判断多个区间是否有交叉重叠
    <scripttype="text/javascript">/**思路:把开始日期、结束日期分别存进两个数组,从开始时间的第二个元素去比较结束时间的第一个元素。*......
  • Angularjs的工程化
    Angularjs的工程化AMD规范和CMD规范为什么需要模块化管理工具在编写项目时可能需要加载很多js文件,若b.js依赖a.js,且a.js比b.js大很多,那么浏览器会让b.js等待a.js加载完......
  • js 比较两个时间相差的天数
    util.TowTimeDayFormat=function(time1,time2){lettotalDays,diffDatevarday1=Date.parse(time1)varday2=Date.parse(time2)//将两个......
  • Json.NET 序列化解析
    Json.NET是一款.NET平台的JSON框架,它还有一个我们熟知的名字:Newtonsoft.Json。1.介绍Json.NET有如下功能及特点:灵活的JSON序列化器,用于.NET对象和JSON之间......