从java中的json字符串创建一个hashmap?
我有像json字符串,{"phonetype":"N95","cat":"WP"}并希望转换为标准的Hashmap.
我该怎么做?
杰克逊的Typefactory类里面有很多不赞成使用的方法.我这样使用它:
public List<T> getX(Class<T> clz) {
ObjectMapper mapper = new ObjectMapper();
try {
String jsonData = mapper.writeValueAsString(data);
a = mapper.readValue(jsonData, TypeFactory.collectionType(List.class, clz));
} catch (Exception e) {
System.out.println(e.getMessage());
}
return a;// a is a global variable
}
Run Code Online (Sandbox Code Playgroud)
它警告我,collectionType已弃用.用什么而不是它?
我在使用 Jackson 序列化为 XML 时似乎遇到了问题。我的代码如下:
测试容器
package com.test;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonProperty;
public class TestContainer {
private String testContainerID;
private String testContainerMessage;
private ArrayList<TestChild> testContainerChildren;
@JsonProperty("TestContainerID")
public String getTestContainerID() {
return testContainerID;
}
@JsonProperty("TestContainerID")
public void setTestContainerID(String testContainerID) {
this.testContainerID = testContainerID;
}
@JsonProperty("TestContainerMessage")
public String getTestContainerMessage() {
return testContainerMessage;
}
@JsonProperty("TestContainerMessage")
public void setTestContainerMessage(String testContainerMessage) {
this.testContainerMessage = testContainerMessage;
}
@JsonProperty("TestContainerChildren")
public ArrayList<TestChild> getTestContainerChildren() {
return testContainerChildren;
}
@JsonProperty("TestContainerChildren")
public void setTestContainerChildren(ArrayList<TestChild> testContainerChildren) {
this.testContainerChildren = testContainerChildren;
}
} …Run Code Online (Sandbox Code Playgroud) 我正在制作一个java程序,我正在寻找一种方法来检查是否有新版本可用我在parse.com上创建了一个帐户.
API:点击
我完全在java上工作,我有点新,所以保持简单.
我已经创建了一个具有版本号的类,如果版本是beta,我现在需要一种方法将这两个值转换为int和boolean并执行其余的处理.我如何从parse.com类中获取值?
我正在尝试Map<?, ?>使用Jackson对象2.8 将带有任意对象的a序列化/反序列化为键。JSON对应项应为一对数组,即给定
public class Foo {
public String foo;
public Foo(String foo) {
this.foo = foo;
}
}
public class Bar {
public String bar;
public Bar(String bar) {
this.bar = bar;
}
}
Run Code Online (Sandbox Code Playgroud)
然后
Map<Foo, Bar> map;
map.put(new Foo("foo1"), new Bar("bar1"));
map.put(new Foo("foo2"), new Bar("bar2"));
Run Code Online (Sandbox Code Playgroud)
应该用这个JSON表示
[
[ { "foo": "foo1" }, { "bar": "bar1" } ],
[ { "foo": "foo2" }, { "bar": "bar2" } ]
]
Run Code Online (Sandbox Code Playgroud)
所以我做了序列化部分
public class MapToArraySerializer extends JsonSerializer<Map<?, ?>> { …Run Code Online (Sandbox Code Playgroud) 我有一个来自数据库的字符串格式的 JSON,我只知道它是键值格式的。我事先不知道
以下是我的一些 JSON 字符串:
{"windowHandle":"current"} \\ in one String: String format{"type":"implicit","ms":100000} \\ in two String: String format {"id":"{a67fc38c-10e6-4c5e-87dc-dd45134db570}"} \\ in one String: String format {"key1": {"sub-key1": "sub-value1", "sub-key2": "sub-value2"}, "key2": {"sub-key2": "sub-value2"}} \\ in two String: Object format 所以,基本上:键值对的数量和值的类型(字符串,对象)事先是未知的。
我想将这些数据存储到我的哈希图中。我知道如果只能是 String: String 格式,我可以put在 Hashmap 中执行以下操作。
我的问题是,
HashMap <String, String>?提前致谢 !