如何在java中访问json的值
这是我的ajax请求中的示例数据,来自:如何在java中访问json的值,java,json,Java,Json,这是我的ajax请求中的示例数据,来自: [{ "year": "2017", "org": "1", "sub_org": "", "sub_org_amt": "" }, { "year": "2017", "org": "1", "sub_org": "", "sub_org_amt": "" }] 如何访问add.jsp中的每个值,以便将它们插入数据库 我试过了 $.ajax({ type: 'POST',
[{
"year": "2017",
"org": "1",
"sub_org": "",
"sub_org_amt": ""
}, {
"year": "2017",
"org": "1",
"sub_org": "",
"sub_org_amt": ""
}]
如何访问add.jsp
中的每个值,以便将它们插入数据库
我试过了
$.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() {
}
})
我有import=“net.sf.json.JSONObject”
,但我在JSONParser中得到错误
UPDDATE
添加了此行import=“org.json.simple.parser.JSONParser”
但是当我执行out.println(“[”+json.toString()+“]”)时代码>未显示任何内容我建议使用jackson library来完成您尝试执行的操作
我假设您使用servlet来处理add.jsp页面,所以在servlet中,在包中添加jackson库之后添加这些导入
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(tabledata);
然后添加doPost方法,该方法用于转换从add/jsp接收到的json:
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
请发布错误。@Aubin请查看Update而不是将其解析为JSONObject
,尝试将其解析为JSONArray
。您也可以使用jackson将json数组转换为对象,并在另一侧发布。@BrownMarvival发布错误。
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);
}