后台传递给前端部分的json代码
import org.springframework.messaging.simp.SimpMessagingTemplate; //messagingTemplate对象的创建 @Autowired(required = false) private SimpMessagingTemplate messagingTemplate; //创建需要传递的对象,使用messagingTemplate发送至前端 CallBackMessage message = new CallBackMessage(); message.setDate(LocalTime.now()); message.setTitle(liveBroadcast.getTitle()); List<PictureContent> pictures = new ArrayList<PictureContent>(); for(LiveBroadcastPicture pic : prictures){ PictureContent content = new PictureContent(); content.setPicture(pic.getImgUrl()); content.setLink(pic.getContentUrl()); pictures.add(content); } message.setPictures(pictures); messagingTemplate.convertAndSend("/topic/send/"+form.getProductLineId(), message);
前端接收到的数据(字符型)
{ "title":"直播介绍", "date":"17:13", "pictures": [{"picture":"/uploadImage/ot/ji/fhoiqc1t.png","link":"http://323/adfsafwe/qe"}, {"picture":"/uploadImage/8h/d2/crgq0g4r.png","link":"http://323/adfsafwe/qe"}, {"picture":"/uploadImage/jh/lt/w7ivrukb.jpg","link":"http://323"} ] }
解析json格式的字符串
方法1
var msg = '{ "title":"直播介绍", "date":"17:13", "pictures": [{"picture":"/uploadImage/ot/ji/fhoiqc1t.png","link":"http://323/adfsafwe/qe"}, {"picture":"/uploadImage/8h/d2/crgq0g4r.png","link":"http://323/adfsafwe/qe"}, {"picture":"/uploadImage/jh/lt/w7ivrukb.jpg","link":"http://323"} ] }' ; JSON.parse(msg,function(key,value){ ergodicJson(key,value) });
方法2
//JSON.stringify( ) —— 将对象序列化为JSON字符串
//JSON.parse( )用于将一个 JSON 字符串转换为对象 推荐使用JSON.parse方法 var val = JSON.parse(msg); $.each(val, function(item) { var jValue=val[item];//key所对应的value ergodicJson(item,jValue) });
方法3
//$.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。 var val = $.parseJSON(msg); for(var item in val){ var jValue=val[item];//key所对应的value ergodicJson(item,jValue) }
解析json对象并添加到ul后面
function ergodicJson(key,val){ var keypictures ="pictures"; if(key == "date"){ datehtml ="<tt>"+value+"</tt>"; } if(key == "title"){ titlehtml ="<p>"+value+"<p>"; } //遍历json对象里面数组 if(keypictures == key && value.length>0){ var length = value.length; for(var j = 0;j<length;j++) { var info = value[j]; imghtml = imghtml+"<a href='"+info.link+"'> <img src='"+info.picture+"'/></a>"; } } var htmlval = "<li>"+datehtml+titlehtml+imghtml+"</p></p></li>"; $("#noLi").remove(); $("#liveBroadcastUl").append(htmlval); }