在前端开发中,我们经常会使用到ajax来异步获取数据。当我们获取到的数据是一个对象时,通常需要将对象转化为json格式进行处理。
var obj = {name: '张三',age: 18};
var jsonStr = JSON.stringify(obj); //转化为json字符串
以上代码中,我们使用了JSON对象的stringify()方法将obj对象转化为json字符串。若需将json字符串转化为对象,则使用parse()方法:
var jsonStr = '{"name":"张三","age":18}';
var obj = JSON.parse(jsonStr); //转化为js对象
在ajax请求中,获取到的数据类型可能不仅仅是js对象或json字符串,有可能还有其他类型。为了避免报错或程序出现异常,应该先进行数据类型校验。
$.ajax({
url: '/data',type: 'get',success: function(result) {
if(typeof result === 'object') {
//result是一个js对象
} else if(typeof result === 'string') {
try {
result = JSON.parse(result); //转化为js对象
} catch(e) {
console.error(e);
}
}
},error: function(xhr,status,error) {
console.error(error);
}
});
以上代码中,我们根据result的类型进行了不同的处理。如果是js对象,则直接使用即可;如果是json字符串,使用try-catch包裹JSON.parse(),若解析出错,则打印错误信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。