相关疑难解决方法(0)

从JSON字符串创建Hashmap

从java中的json字符串创建一个hashmap?

我有像json字符串,{"phonetype":"N95","cat":"WP"}并希望转换为标准的Hashmap.

我该怎么做?

java android json hashmap

42
推荐指数
5
解决办法
13万
查看次数

Jackson TypeFactory静态方法已弃用使用什么?

杰克逊的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弃用.用什么而不是它?

java jackson

8
推荐指数
1
解决办法
7088
查看次数

将 ArrayList 内的对象序列化为 XML 时丢失类型元素

我在使用 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)

xml-serialization jackson fasterxml json-deserialization

5
推荐指数
1
解决办法
3800
查看次数

从远程网站读取JSON文件

我正在制作一个java程序,我正在寻找一种方法来检查是否有新版本可用我在parse.com上创建了一个帐户.
API:点击
我完全在java上工作,我有点新,所以保持简单.
我已经创建了一个具有版本号的类,如果版本是beta,我现在需要一种方法将这两个值转换为int和boolean并执行其余的处理.我如何从parse.com类中获取值?

java json

4
推荐指数
1
解决办法
3867
查看次数

如何用Jackson反序列化Map &lt;?,?&gt;?

我正在尝试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)

java json jackson json-deserialization

2
推荐指数
1
解决办法
8148
查看次数

如何在值类型和键值对数量未知的情况下哈希映射 JSON 的键值对

我有一个来自数据库的字符串格式的 JSON,我只知道它是键值格式的。我事先不知道

  • 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 中执行以下操作。

我的问题是

  • 在这种情况下,如何在不迭代 JSON 字符串的情况下有效地存储 json。
  • 我的 Hashmap 类型应该是什么,绝对不是HashMap <String, String>

提前致谢 !

java json hashmap keyvaluepair

0
推荐指数
1
解决办法
3693
查看次数