2016-08-18 86 views
-2
[{ 
    "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() + "]");显示

+0

请发布错误。 – Aubin

+0

@Aubin请参阅更新 –

+0

而不是将其解析为'JSONObject',尝试将其解析为'JSONArray'。 – Ravikumar

回答

0

我建议使用杰克逊库做你想要做什么。

我假设你正在使用的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); 

}