如何从访问的Java
问题描述:
[{
"year": "2017",
"org": "1",
"sub_org": "",
"sub_org_amt": ""
}, {
"year": "2017",
"org": "1",
"sub_org": "",
"sub_org_amt": ""
}]
这从我的Ajax请求的样本数据的JSON值:如何从访问的Java
$.ajax({
type: 'POST',
url: 'add.jsp',
dataType: "json",
data: {
action: action,
tabledata: JSON.stringify(tabledata)
},
success: function(data) {
},
error: function(data) {
console.log("error" + data);
},
beforeSend: function() {
},
complete: function() {
}
})
我怎样才能add.jsp
所以访问每个值,我可以在数据库
我试图
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(tabledata);
我有import="net.sf.json.JSONObject"
但我得到错误
UPDDATE
该行添加import ="org.json.simple.parser.JSONParser"
但是当我做什么都不out.println("[" + json.toString() + "]");
显示
答
我建议使用杰克逊库做你想要做什么。
我假设你正在使用的servlet处理add.jsp页面,以便在你的servlet,在你的包加入杰克逊库之后添加这些进口
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
然后在doPost方法添加的方法来转换从add/jsp收到的json:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* Convert json to object
*/
// 1. get received JSON data from request
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String json = "";
String line;
while ((line = br.readLine()) != null) {
json = json + line;
}
#object mapper to map the json to the class
ObjectMapper objectMapper = new ObjectMapper();
# object converted by json
Object object = objectMapper.readValue(json, Object.class);
}
请发布错误。 – Aubin
@Aubin请参阅更新 –
而不是将其解析为'JSONObject',尝试将其解析为'JSONArray'。 – Ravikumar