日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

javascript对象和json字符串之间转换的问题

發(fā)布時(shí)間:2025/3/20 javascript 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript对象和json字符串之间转换的问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

在開(kāi)發(fā)中,當(dāng)使用ajax向后端發(fā)送請(qǐng)求返回一個(gè)json時(shí),有兩個(gè)可能,一種是返回json字符串,一種是返回object

javascript中有兩個(gè)方法可以用來(lái)處理兩者之間的互相轉(zhuǎn)換問(wèn)題:

  • JSON.parse(string) :接受一個(gè) JSON 字符串并將其轉(zhuǎn)換成一個(gè) JavaScript 對(duì)象。

  • JSON.stringify(obj) :接受一個(gè) JavaScript 對(duì)象并將其轉(zhuǎn)換為一個(gè) JSON 字符串。

此時(shí)我們定義一個(gè)ResultInfo實(shí)體類

package com.itheima.domain;import java.io.Serializable; import java.util.Objects;/*** 用于封裝后端返回前端數(shù)據(jù)對(duì)象*/ public class ResultInfo implements Serializable {private boolean flag;//后端返回結(jié)果正常為true,發(fā)生異常返回falseprivate Object data;//后端返回結(jié)果數(shù)據(jù)對(duì)象private String errorMsg;//發(fā)生異常的錯(cuò)誤消息//無(wú)參構(gòu)造方法public ResultInfo() {}public ResultInfo(boolean flag) {this.flag = flag;}/*** 有參構(gòu)造方法* @param flag* @param errorMsg*/public ResultInfo(boolean flag, String errorMsg) {this.flag = flag;this.errorMsg = errorMsg;}/*** 有參構(gòu)造方法* @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;} }

定義一個(gè)TestServlet測(cè)試類

//創(chuàng)建json格式的字符串String allCategory="[{"cid":8,"cname":"全球自由行"},{"cid":5,"cname":"國(guó)內(nèi)游"}];resultInfo=new ResultInfo(true,allCategory,null);//創(chuàng)建json轉(zhuǎn)換類ObjectMapper objectMapper = new ObjectMapper();//將ResultInfo對(duì)象轉(zhuǎn)為json字符串String jsonData=objectMapper.writeValueAsString(resultInfo);response.getWriter().write(jsonData);
  • 將一個(gè)json格式的字符串加入到ResultInfo對(duì)象中,再把該對(duì)象轉(zhuǎn)為json字符串發(fā)送給ajax請(qǐng)求的頁(yè)面。頁(yè)面獲取的ResultInfo對(duì)象為object對(duì)象,可以直接使用。而要使用該對(duì)象里的allCategory屬性的話,需要把a(bǔ)llCategory轉(zhuǎn)為javascript對(duì)象。頁(yè)面獲取的ResultInfo對(duì)象的其它屬性為object對(duì)象,可以直接使用。
var categoryList=JSON.parse(resultInfo.data);
  • 也可以使用javascript的內(nèi)置對(duì)象轉(zhuǎn)為javascript對(duì)象
var categoryList = eval("("+resultInfo.data+")");

?

總結(jié)

以上是生活随笔為你收集整理的javascript对象和json字符串之间转换的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。