Java - JSON 到 URL

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 进行转换吗?

Joh*_*ohn 5

步骤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) 如果您不想使用库,您可以迭代映射并自己构建查询字符串。