我是第一次使用JSON,我需要接收JSON元素列表并检查这些元素的代码并将它们从对象转换为数组。例如。
{ “关键”:“我的钥匙”, “价值”:“我的价值”, “元素”:“x” }
应该成为:
{ “关键”:“我的钥匙”, “价值”:“我的价值”, “元素”:[“x”] }
解决方案必须与java 1.6兼容。 有人可以推荐我使用哪个解析器来实现这个尽可能简单吗?示例代码是什么样的?
答案 0 :(得分:1)
我不知道我是否理解正确,但也许这个例子可以帮到你。
1)你可以使用jackson与json一起工作,你必须下载2个罐子:
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"]}