Java 以JSON格式处理从服务器接收的POST
我将如何接收发送到服务器的JSON文件,并将其处理到可以输入MySQL数据库的程度 应发送到服务器的JSON示例如下:Java 以JSON格式处理从服务器接收的POST,java,javascript,html,json,Java,Javascript,Html,Json,我将如何接收发送到服务器的JSON文件,并将其处理到可以输入MySQL数据库的程度 应发送到服务器的JSON示例如下: {"messages":[{ "messageId": "9ebd1279-d232-49a6-b074-b43b48b8332c", "userFromId": 1, "scope": 0, "messageContent": "hello 123\r\n", "messageSentDate": 1363090081570,
{"messages":[{
"messageId": "9ebd1279-d232-49a6-b074-b43b48b8332c",
"userFromId": 1,
"scope": 0,
"messageContent": "hello 123\r\n",
"messageSentDate": 1363090081570,
"messageRecievedDate": 0,
"messageReadDate": 0,
"messageLastModified": 0,
"readReceiptRequired": false
},{
"messageId": "c7b6005a-e493-4074-86bd-6b6462ea3f48",
"userFromId": 1,
"scope": 1,
"messageContent": "hello ",
"messageSentDate": 1363084238352,
"messageRecievedDate": 0,
"messageReadDate": 0,
"messageLastModified": 0,
"readReceiptRequired": false
}]}
在MyServlet中
public doPost(HTTPServletRequest req, HTTPServletResponse res)
{
JSONObject jObj = new JSONObject(request.getParameter("mydata")); // this parses the json
Iterator it = jObj.keys(); //gets all the keys
while(it.hasNext())
{
String key = it.next(); // get key
Object o = jObj.get(key); // get value
session.putValue(key, o); // store in session
}
}
现在在mysql中发送数据。发布时:
/* i would use a hidden field for maintaing count, say totalmessages */
/* use a loop for appending the name with a value (message0, message1, message2) */
for example when generating html from php..
for($i=0; i<$messagecount;$ i++)
{
echo "<input type=text name=messageid$i>"; /*in case you are taking messages from input box*/
}
/*我会使用一个隐藏字段来维护计数,比如totalmessages*/
/*使用循环将名称附加一个值(message0、message1、message2)*/
例如,从php生成html时。。
对于($i=0;i)您使用的是什么服务器技术?servlet?是的,servlet与java类结合在一起..然后如何从会话中获取数据?
/* i would use a hidden field for maintaing count, say totalmessages */
/* use a loop for appending the name with a value (message0, message1, message2) */
for example when generating html from php..
for($i=0; i<$messagecount;$ i++)
{
echo "<input type=text name=messageid$i>"; /*in case you are taking messages from input box*/
}
/*Read the total messages first. $count = $_POST["totalmessages"];*/
//Then use a loop
for($i=0; $i < $count; $i++)
{
/*Read the posted value using $i*/
$messageid=$_POST["messageId$i"];
.......
/*Write it into database */
}