我想创建一个模型,其结构如下所示
"SettingsConfiguration":{
loadingOccupancy:[
{
berthId:Number,
laneId:Number,
berthCapacity:Number,
routeNo:String,
speciallyChallengedCapacity:Number
}
],
smsNotification:{
phoneNo:Number,
smsSendingStatus:Boolean
}
}
使用Spark Java,我能够为简单结构进行操作,如下所示
package com.models;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import org.bson.types.ObjectId;
public class Map {
private String id;
private String title;
public Map(BasicDBObject dbObject) {
this.id = ((ObjectId) dbObject.get("_id")).toString();
this.title = dbObject.getString("title");
}
public String getTitle() {
return title;
}
}
,但不确定如何为上述数据结构构建类请帮助如何构建课程,即如何解析和存储上述JSON格式,该格式来自请求正文
您可以尝试的步骤>1.使用方法httpservletrequest请求的方法读取请求,例如:受保护的void dopost(httpservletrequest request)。2.尝试写这样的方法:
protected void doPost(HttpServletRequest request){
String jsonString = IOUtils.toString(request.getInputStream());
try {
jsonObject = new JSONObject(jsonString);
JSONArray entryArray = new JSONArray(jsonObject.get("SettingsConfiguration")
.toString());
JSONObject entryObj = entryArray.getJSONObject(0);
JSONArray loadingOccupancyArray = new JSONArray(entryObj.get("loadingOccupancy")
.toString());
JSONObject loadingOccupancyObject = loadingOccupancyArray.getJSONObject(0);
JSONObject sender = (JSONObject) loadingOccupancyObject.get("berthId");
JSONObject recipient = (JSONObject) loadingOccupancyObject.get("laneId");
JSONObject message = (JSONObject) loadingOccupancyObject.get("laneId");
System.out.println("message = " + message.get("text"));
System.out.println("sender = " + sender.get("id"));
System.out.println("recipient = " + recipient.get("id"));
} catch (JSONException e) {
e.printStackTrace();
}
}
使用Jackson [Java Json Parser(http://jackson.codehaus.org)]库。请参阅解析JSON文件Java以获取更多信息