Heim  >  Artikel  >  Web-Frontend  >  Spring MVC erhält JSON-Object_Javascript-Kenntnisse

Spring MVC erhält JSON-Object_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:26:231692Durchsuche

In diesem Artikel wird die Methode zum Empfangen von JSON-Daten durch Spring MVC anhand von Codebeispielen vorgestellt. Die spezifischen Details lauten wie folgt:

JSON empfangen

Wenn Sie die Annotation @RequestBody im Frontend verwenden, müssen Sie lediglich ein formatiertes JSON an den Controller senden, und Spring fügt es automatisch zu einer Bean zusammen.

1) Fügen Sie basierend auf der Verwendung der ersten Methode zur Rückgabe von JSON im obigen Projekt die folgende Methode hinzu:

Java-Code

  @RequestMapping(value="/add",method=RequestMethod.POST, headers = {"content-type=application/json","content-type=application/xml"}) 
  @ResponseBody 
  public Object addUser(@RequestBody User user) 
  { 
    System.out.println(user.getName() + " " + user.getAge()); 
    return new HashMap<String, String>().put("success", "true"); 
  } 

Das POJO hier lautet wie folgt:

Java-Code

  public class User { 
    private String name; 
    private String age; 
    //getter setter 
  } 

2) Im Frontend können wir jQuery verwenden, um JSON zu verarbeiten. Von hier aus habe ich ein jQuery-Plug-in erhalten, das die Daten eines Formulars in ein JSON-Objekt zurückgeben kann:

Js-Code

 $.fn.serializeObject = function(){ 
    var o = {}; 
    var a = this.serializeArray(); 
    $.each(a, function(){ 
      if (o[this.name]) { 
        if (!o[this.name].push) { 
          o[this.name] = [o[this.name]]; 
        } 
        o[this.name].push(this.value || ''); 
      } 
      else { 
        o[this.name] = this.value || ''; 
      } 
    }); 
    return o; 
  }; 

Das Folgende ist der Code zum Empfangen und Senden von JSON mit jQuery:

Js-Code

$(document).ready(function(){ 
    jQuery.ajax({ 
      type: 'GET', 
      contentType: 'application/json', 
      url: 'jsonfeed.do', 
      dataType: 'json', 
      success: function(data){ 
        if (data && data.status == "0") { 
          $.each(data.data, function(i, item){ 
            $('#info').append("姓名:" + item.name +",年龄:" +item.age); 
          }); 
        } 
      }, 
      error: function(){ 
        alert("error") 
      } 
    }); 
    $("#submit").click(function(){ 
      var jsonuserinfo = $.toJSON($('#form').serializeObject()); 
      jQuery.ajax({ 
        type: 'POST', 
        contentType: 'application/json', 
        url: 'add.do', 
        data: jsonuserinfo, 
        dataType: 'json', 
        success: function(data){ 
          alert("新增成功!"); 
        }, 
        error: function(){ 
          alert("error") 
        } 
      }); 
    }); 
  }); 

Aber es scheint, dass die Verwendung von Spring wirklich eine mühsame Sache ist. Im Vergleich zur Jersey-Implementierung von RESTful gibt es tatsächlich viele Dinge, die nicht prägnant sind.

Das Obige sind die relevanten Informationen zum Empfang von JSON-Daten durch Spring MVC, die in diesem Artikel geteilt werden.

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