Java 如何在wicket中解析多部分表单数据

Java 如何在wicket中解析多部分表单数据,java,wicket,Java,Wicket,当我的页面被第三方页面点击时,我会在请求负载中获得以下数据: Content-type: multipart/form-data, boundary----------14048 Content-Length = 590 ----------14048 Content-disposition: form-data; name ="xyz" {"abc":"lmn","def":"ghi"} ----------14048 我需要在Java类中从这个参数读取JSON字符串。我该怎么做 我当前

当我的页面被第三方页面点击时,我会在请求负载中获得以下数据:

Content-type: multipart/form-data, boundary----------14048
Content-Length = 590

----------14048
Content-disposition: form-data; name ="xyz"

{"abc":"lmn","def":"ghi"}
----------14048
我需要在Java类中从这个参数读取JSON字符串。我该怎么做

我当前的代码如下所示:

IRequestParameters requestParameters = getRequest().getPostParameters();
    if (requestParameters != null && requestParameters.getParameterNames().contains( "abc" )&&requestParameters.getParameterValue( "abc" ) != null){
        value = requestParameters.getParameterValue( "abc" ).toString();
}

提前感谢。

下面的代码对我来说很好

HttpSevletRequest request = (HttpSevletRequest )getRequest.getContainerRequest();
try{
 InputStreamReader inputReader = new InputStreamReader(request.getInputStream());
    BufferedReader reader = new BufferedReader(inputReader );
    for(String line;(line = reader.readLine())!=null;){
        if(line.contains("abc")){
            //perform task....
     }
    }
}catch(IOException e){
 //logs
}
首先,您需要:

然后你需要,一种方法是使用

然后,您需要获取感兴趣的JSON参数:

string payload = jsondict.getString("abc");

读取此post数据时,您当前的java spring代码是什么样子的;如果请求参数!=null&&requestParameters.getParameterNames.contains abc&requestParameters.getParameterValue abc!=null{value=requestParameters.getParameterValue abc.toString;}请编辑问题以添加此代码,不要将其粘贴到注释中。当表单变量被称为xyz时,为什么要询问参数abc?我的方法是-json是一个键值对,所以我可以直接使用keyabc获得valueln。如果我写-,我会得到整个json字符串吗。如果是requestParameters.getParameterValuexyz.ToString,则将使用getParameterValuexyz获取整个JSON字符串。。然后,您必须使用JSONParser对JSON进行解码,然后向解析后的JSON对象询问abc。如果发布的JSON片段有换行符呢?您需要正确解析多部分表单post。这有用吗?
import org.json.*;

JSONObject jsondict = new JSONObject(params.getParameter("xyz");
string payload = jsondict.getString("abc");