Heim  >  Artikel  >  Java  >  Tutorial zur Verarbeitung von JSON-Daten durch springMVC

Tutorial zur Verarbeitung von JSON-Daten durch springMVC

Y2J
Y2JOriginal
2017-05-16 09:17:491512Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Interaktion mit JSON-Daten von springMVC ausführlich erläutert. Der Herausgeber findet sie recht gut, daher werde ich sie jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und werfen Sie einen Blick darauf.

Rezeptionscode:

function channel(){
     //先获取选中的值
     var channelId = $("#channelId option:selected").val();
     //来判断发送的链接
     if(channelId ==2){
     **需要注意地方 start**
     var schoolBannerInfo = {
      "img": channelId,
      "title": channelId,
      "info": channelId,
      "channelId": channelId
     };
     **需要注意地方 end**

      $.ajax({
         url:"ceshijson",
         type:"post",
         dataType:'json',
         **需要注意地方 start**
         contentType:'application/json;charset=utf-8',
         data:JSON.stringify(schoolBannerInfo),
         **需要注意地方 end**
         success:function(data){
            alert(data);
         },
         error:function(XMLHttpRequest, textStatus, errorThrown){ 
          alert("Error") 
          alert(XMLHttpRequest.status); 
          alert(XMLHttpRequest.readyState); 
          alert(textStatus); 
          }
      });
     }
   }

Auf den fettgedruckten Teil müssen Sie achten.

Der contentType:'application/json;charset=utf-8' darf nicht weggelassen werden, andernfalls wird ein 415-Fehler gemeldet.

Schließlich ist das, was ich sende, JSONString, also muss ich dem Server mitteilen, dass es sich bei den kommenden Daten um JSON-Daten handelt.

JSON.stringify() dient zum Konvertieren von JavaScript-Objekt in einen JSON-String

JSON.parse(jsonstr) dient zum Konvertieren eines JSON-Strings in ein JavaScript-Objekt

Ergänzendes Wissen: JSON ist eigentlich eine Teilmenge von JavaScript.

Referenzadresse: www.jb51.net/article/35090.htm

Backend-Code:

Pojo-Klasse:

public class SchoolBannerInfo {
  private Integer id;
  private Date createTime;
  private String img;
  private String title;
  private String info;
  private Integer seq;
  private Integer schoolId;
  private String type;
  private boolean enable;
  private String link;
  private String channelId;
}

Die Get- und Set-Methoden werden von Ihnen selbst generiert, daher werde ich sie hier nicht veröffentlichen.

Methode im Controller:

@RequestMapping(value="/ceshijson",produces="application/json;charset=UTF-8")
@ResponseBody
public SchoolBannerInfo ceshijson(@RequestBody SchoolBannerInfo schoolBannerInfo) throws IOException{
//   Map<String,Object> map = new HashMap<String,Object>();
//    map.put("channelId", channelId);
//    ObjectMapper mapper = new ObjectMapper();
//    channelId = mapper.writeValueAsString(map);
    return schoolBannerInfo;
  }

Hinweis:

1 @RequestBody kann nicht weggelassen werden, da es gesendet wird von der Rezeption Bei den Daten handelt es sich um JSON-Daten. Sie müssen diese Annotation verwenden, um zu analysieren, wie diese Daten an das Objekt der Pojo-Klasse empfangen werden.

2. Weil ich auch JSON-Daten zurückgeben möchte. Daher wird diese Annotation @ResponseBody benötigt, um das Java-Objekt in einen JSON-String zu konvertieren

3. Bei Verwendung von @RequestBody müssen die vom Front Desk übergebenen Daten ein JSON-String sein. Wenn es sich um ein JSON-Objekt handelt, tritt ein Fehler auf. Wenn Sie also Folgendes in den Frontend-Datenteil schreiben: data:{"channelId":2}, wird dies nicht funktionieren. Da {"channelId":2} ein JSON-Objekt ist, müssen Sie in der äußeren Ebene Anführungszeichen „{"channelId":2}“ hinzufügen.

4. Was ist zu tun, wenn der Rückgabewert der Methode ein einfacher Typ wie String ist?

【Verwandte Empfehlungen】

1. Besondere Empfehlung: Version „php Programmer Toolbox“ V0.1 herunterladen

2. Kostenloses Java-Video-Tutorial

3 JAVA-Einsteiger-Video-Tutorial

Das obige ist der detaillierte Inhalt vonTutorial zur Verarbeitung von JSON-Daten durch springMVC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn