gpt4 book ai didi

java - JSON:将对象转换为数组

转载 作者:行者123 更新时间:2023-11-30 08:01:21 25 4
gpt4 key购买 nike

我是第一次使用 JSON,我需要接收 JSON 元素列表并检查这些元素的代码并将它们从对象转换为数组。例如。

{ "key": "my key", "value": "my value", "element": "x" }

应该变成:

{ "key": "my key", "value": "my value", "element": ["x"] }

该解决方案必须与 java 1.6 兼容。有人可以推荐我使用哪个解析器来尽可能简单地实现这一点吗?示例代码是什么样的?

最佳答案

我不知道我的理解是否正确,但也许这个例子可以帮助你。

1) 您可以使用 jackson 来处理 json,为此您必须下载 2 个 jar:

http://central.maven.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar

http://central.maven.org/maven2/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar

2) 创建下一个类:

第一类是接收你的输入

public class Input {

private String key;
private String value;
private String element;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public String getElement() {
return element;
}

public void setElement(String element) {
this.element = element;
}
}

第二个类包含您想要的元素数组

public class Output {
private String key;
private String value;
private String[] element;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public String[] getElement() {
return element;
}

public void setElement(String[] element) {
this.element = element;
}
}

创建第三个用于应用转换并运行程序

import org.codehaus.jackson.map.ObjectMapper;

public class TestJson {

public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();

String originalString ="{\"key\":\"my key\",\"value\":\"my value\",\"element\":\"X\"}";
System.out.println(" Input: " + originalString);

Input input = mapper.readValue(originalString, Input.class);
String[] element = {input.getElement()};

Output output = new Output();
output.setKey(input.getKey());
output.setValue(input.getValue());
output.setElement(element);

String result = mapper.writeValueAsString(output);
System.out.println("Result: " + result);

}
}

运行 TestJson 后您将看到预期的结果

 Input: {"key":"my key","value":"my value","element":"X"}
Result: {"key":"my key","value":"my value","element":["X"]}

关于java - JSON:将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com