Java 中 如何将 x-www-form-urlencoded 格式如何转成 json
时间: 2024-09-11 17:02:03 浏览: 58
详解Http请求中Content-Type讲解以及在Spring MVC中的应用
在Java中,将`x-www-form-urlencoded`格式的数据转换为JSON通常涉及到两个步骤:解析URL编码的字符串并构建JSON对象。这里我们可以使用`java.util.Map`来存储键值对,并利用`com.alibaba.fastjson`或`org.json`这样的第三方库来进行方便的转换。
以下是使用Fastjson库的一个示例:
```java
import com.alibaba.fastjson.JSON;
import java.util.HashMap;
import java.util.Map;
public class FormUrlEncodedToJson {
public static void main(String[] args) {
String formEncodedData = "key1=value1&key2=value2"; // 你的x-www-form-urlencoded数据
try {
Map<String, String> paramsMap = parseFormEncoded(formEncodedData);
JSONObject jsonObject = new JSONObject(paramsMap); // 使用Fastjson的JSONObject
System.out.println(jsonObject.toJSONString()); // 输出JSON字符串
} catch (Exception e) {
e.printStackTrace();
}
}
private static Map<String, String> parseFormEncoded(String encodedData) throws Exception {
Map<String, String> map = new HashMap<>();
for (String pair : encodedData.split("&")) {
String[] keyValue = pair.split("=");
if (keyValue.length > 1) {
map.put(keyValue[0], URLDecoder.decode(keyValue[1], "UTF-8")); // 解码URL编码
}
}
return map;
}
}
```
如果你使用的是Google Gson库,代码会有所不同,但大体思路是一样的。记得先添加对应的库依赖。
阅读全文