javascript :如何将字符串对象转换/解析为JSON对象

160 阅读2分钟

在JavaScript中转换/解析字符串到JSON对象

、 在JavaScript中,当用户提交表单时,表单数据是以字符串格式收集的,我们需要在HTTP请求中把它转换为JSON对象,以实现REST API。
在这篇博客中,我们将讨论如何将字符串对象转换为JSON对象。一般来说,JavaScript中的String是一组用单引号或双引号括起来的字符。
JSON文本在字符串中是一个用单引号括起来的数据。
作为开发者,将其转换为JSON是一项重要的任务,在开发过程中会面临很多问题。

对于一个给定的字符串

const employee = '{"name": "Franc","department":"sales"}';  

我们有两种方法可以转换为JSON对象

  • JSON.parse()方法
  • JQuery parseJSON方法

使用JSON.parse()方法

JSON是一个内置的对象,它的parse()方法接受字符串文本,它解析JSON字符串并转换为JavaScript对象 下面是一个转换为JSON对象的例子。

console.log(typeof employee) //string   
  
var jsonObject = JSON.parse(employee);  
console.log(typeof jsonObject) //object  
  
console.log(jsonObject) //{ name: 'Franc', department: 'sales' }  
console.log(jsonObject.name)  // Franc  
console.log(jsonObject.department) // sales  

在上面的例子中:

  • 雇佣对象被声明分配了有效的json文本。
  • 使用typeof操作符将json文本类型打印到控制台,并打印成对象
  • 使用内置的JSON.parse()方法解析Json文本并转换为JSON对象
  • 控制台的对象类型并作为对象打印出来
  • 对象
  • 使用jsonobject.key打印json对象的单个属性键
  • 语法

如果json文本的格式不好或格式无效,就会抛出SyntaxError。
在下面的例子中,name属性缺少 "符号开始",在JSON中出现了意外的token n

const employee = '{name": "Franc","department":"sales"}';  
  
console.log(typeof employee)  
  
var jsonObject = JSON.parse(employee);  

这种方法的优点是使用内置的JavaScript对象,不需要任何库。
使用JQuery parseJSOn方法
jquery中的parseJSON也可以做到这一点,但你必须包括JQuery库。

var jsonStr = '{"name":"kiran"}';  
var obj = jQuery.parseJSON(jsonStr); or  
var obj = $.parseJSON(jsonStr);  

如果json文本是无效的格式,parseJSOn也会抛出错误。