javascript对象和json字符串之间转换的问题
2018-10-12 13:03
537 查看
在开发中,当使用ajax向后端发送请求返回一个json时,有两个可能,一种是返回json字符串,一种是返回object。
javascript中有两个方法可以用来处理两者之间的互相转换问题:
-
JSON.parse(string) :接受一个 JSON 字符串并将其转换成一个 JavaScript 对象。
-
JSON.stringify(obj) :接受一个 JavaScript 对象并将其转换为一个 JSON 字符串。
此时我们定义一个ResultInfo实体类
[code]package com.itheima.domain; import java.io.Serializable; import java.util.Objects; /** * 用于封装后端返回前端数据对象 */ public class ResultInfo implements Serializable { private boolean flag;//后端返回结果正常为true,发生异常返回false private Object data;//后端返回结果数据对象 private String errorMsg;//发生异常的错误消息 //无参构造方法 public ResultInfo() { } public ResultInfo(boolean flag) { this.flag = flag; } /** * 有参构造方法 * @param flag * @param errorMsg */ public ResultInfo(boolean flag, String errorMsg) { this.flag = flag; this.errorMsg = errorMsg; } /** * 有参构造方法 * @param flag * @param data * @param errorMsg */ public ResultInfo(boolean flag, Object data, String errorMsg) { this.flag = flag; this.data = data; this.errorMsg = errorMsg; } public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
定义一个TestServlet测试类
[code] //创建json格式的字符串 String allCategory="[{"cid":8,"cname":"全球自由行"},{"cid":5,"cname":"国内游"}]; resultInfo=new ResultInfo(true,allCategory,null); //创建json转换类 ObjectMapper objectMapper = new ObjectMapper(); //将ResultInfo对象转为json字符串 String jsonData=objectMapper.writeValueAsString(resultInfo); response.getWriter().write(jsonData);
- 将一个json格式的字符串加入到ResultInfo对象中,再把该对象转为json字符串发送给ajax请求的页面。页面获取的ResultInfo对象为object对象,可以直接使用。而要使用该对象里的allCategory属性的话,需要把allCategory转为javascript对象。页面获取的ResultInfo对象的其它属性为object对象,可以直接使用。
[code]var categoryList=JSON.parse(resultInfo.data);
- 也可以使用javascript的内置对象转为javascript对象
[code]var categoryList = eval("("+resultInfo.data+")");
阅读更多
相关文章推荐
- JavaScript 中的 json 对象与 json 字符串之间的转换
- javascript的json对象与字符串之间的转换
- json对象和json字符串之间的转换-JavaScript实现
- JavaScript对象转换成JSON字符串及深度克隆方法
- JSON对象和字符串之间的相互转换
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- JSON对象和字符串之间的相互转换
- 【转】JSON对象和字符串之间的相互转换
- JavaScript对象与JSON字符串的相互转换
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- 关于PHP在数组对象与JSON数据之间的转换问题(编码问题)
- JavaScript对象与JSON字符串的相互转换
- JavaScript 对象转换JSON字符串
- Gson对Java嵌套对象和JSON字符串之间的转换
- JSON对象和字符串之间的相互转换
- Javascript:日期字符串(DateStr)与日期对象(Date)之间的转换
- javascript将一对象(包括数组、JSON、function)转换成字符串
- javascript数据(对象字符串等)转换成json数据的javascript扩展包的使用
- JavaScript对象与JSON字符串的相互转换
- JSON对象和字符串之间的相互转换