在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也会抛出错误。