gtx*_*911 4 java url encoding json http
我得到一个JSON,我想将其转换为带参数的URL,例如:
JSON:
{
"id" : "27",
"name: : "Testing name"
}
Run Code Online (Sandbox Code Playgroud)
URL:
id=27&name=Testing+name
Run Code Online (Sandbox Code Playgroud)
我找到了一些解决方案,但仅限Javascript于此:
JavaScript 对象 (JSON) 转 URL 字符串格式
但我想用Java,不行Javascript。
知道如何使用 Java 进行转换吗?
步骤1:Map使用一些库(例如jackson)将JSON转换为JSON。
public class JacksonMapper {
private static final ObjectMapper mapper = new ObjectMapper();
private static final JacksonMapper INSTANCE;
static
{
INSTANCE = new JacksonMapper();
}
private JacksonMapper() {
// not called
}
public static JacksonMapper getInstance() {
return INSTANCE;
}
public Map<String, String> toMap(String jsonString) throws Exception {
return mapper.readValue(jsonString, new TypeReference<HashMap<String, String>>(){});
}
}
Run Code Online (Sandbox Code Playgroud)
步骤 2:a) 如果您使用 Spring,您可以简单地将 Map 传递到RestTemplate并调用它的一些方法。
步骤2:b)如果您没有使用Spring,您可以参考Apache
UriBuilderaddParameter并为map中的每个条目调用方法
步骤 2:c) 如果您不想使用库,您可以迭代映射并自己构建查询字符串。
| 归档时间: |
|
| 查看次数: |
3034 次 |
| 最近记录: |