Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要将json数据从js发送到java_Java_Jquery_Json_Servlets - Fatal编程技术网

需要将json数据从js发送到java

需要将json数据从js发送到java,java,jquery,json,servlets,Java,Jquery,Json,Servlets,我的javascript中有一个JSON字符串,我需要将其发送到java类。我可以使用普通java类吗?还是有必要使用servlet 另外,如何解析JSON数据 我的JSON数据的格式如下: var details= { "CustomerDetails": [{'name':'Amy','age':'23'}, {'name':'Amj','age':'25'},{'name':'Amg','age':'27'}]}; 我发送的json字符串如下所示: var jsonText =

我的javascript中有一个JSON字符串,我需要将其发送到java类。我可以使用普通java类吗?还是有必要使用servlet

另外,如何解析JSON数据

我的JSON数据的格式如下:

 var details=   { "CustomerDetails": [{'name':'Amy','age':'23'},
{'name':'Amj','age':'25'},{'name':'Amg','age':'27'}]};
我发送的json字符串如下所示:

  var jsonText = JSON.stringify(details);  

    $.post('ServletClass', jsonText);  
WEb.xml:

<servlet>
<servlet-name>ServletClass</servlet-name>
<display-name>ServletClass</display-name>
<servlet-class>java.files.ServletClass</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletClass</servlet-name>
<url-pattern>/ServletClass</url-pattern>
</servlet-mapping>

首先,你的JSON是不正确的。更正的JSON:

{ "CustomerDetails": [{'name':'Amy','age':'23'},{'name':'Amj','age':'25'},{'name':'Amg','age':'27'}]}

如果希望java类是异步的,那么应该使用AJAX将数据发送到java类。您需要一个servlet来接受此请求,该servlet将解析此JSON,您可以对其进行必要的处理。查看或库以进行JSON解析。

以下更改对我很有用: fullpath=contextpath\servletname

$.post(fullpath, {jsonText:jsonText}, function(data) {
    alert(data);
});

你能给我举个例子吗。。。我是js和JSONFor AJAX的新手,您可以使用它与servlet通信。关于使用GSON,您可以参考示例和。是一个客户端调用servlet的AJAX调用的示例。当您尝试使用stuff时,如果有任何问题或被阻止,请发布您的代码。@HaranMurthy,我不太理解您的问题。很抱歉,错误地按enter键。。。。。编辑了主要问题。我不知道为什么我的servlet post方法没有显示sysout
$.post(fullpath, {jsonText:jsonText}, function(data) {
    alert(data);
});