相关疑难解决方法(0)

如何使用Jackson对一系列对象进行反序列化

杰克逊的数据绑定的文档表明,杰克逊支持deserialising"所有支持类型的数组",但我想不通这个确切的语法.

对于单个对象,我会这样做:

//json input
{
    "id" : "junk",
    "stuff" : "things"
}

//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);
Run Code Online (Sandbox Code Playgroud)

现在对于一个数组我想这样做:

//json input
[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]

//Java
List<MyClass> entries = ?
Run Code Online (Sandbox Code Playgroud)

有人知道是否有一个神奇的缺失命令?如果没有那么解决方案是什么?

java json jackson

711
推荐指数
9
解决办法
56万
查看次数

如何在Java中将hashmap转换为JSON对象

如何在Java中将hashmap转换或转换为JSON对象,并再次将JSON对象转换为JSON字符串?

java json

251
推荐指数
17
解决办法
60万
查看次数

将JSON转换为Map

转换JSON代码的最佳方法是:

{ 
    "data" : 
    { 
        "field1" : "value1", 
        "field2" : "value2"
    }
}
Run Code Online (Sandbox Code Playgroud)

在Java Map中,其中一个键是(field1,field2),这些字段的值是(value1,value2).

有任何想法吗?我应该使用Json-lib吗?或者更好,如果我写自己的解析器?

java collections parsing json

174
推荐指数
8
解决办法
43万
查看次数

GSON - 日期格式

我正在尝试在Gson输出中使用自定义日期格式,但.setDateFormat(DateFormat.FULL)似乎不起作用,它也一样.registerTypeAdapter(Date.class, new DateSerializer()).

这就像Gson不关心对象"Date"并以其方式打印它.

我怎么能改变呢?

谢谢

编辑:

@Entity
public class AdviceSheet {
  public Date lastModif;
[...]
}

public void method {
   Gson gson = new GsonBuilder().setDateFormat(DateFormat.LONG).create();
   System.out.println(gson.toJson(adviceSheet);
}
Run Code Online (Sandbox Code Playgroud)

我一直用java.util.Date; setDateFormat()不起作用:(

java gson

173
推荐指数
4
解决办法
18万
查看次数

在不知道JSON格式的情况下在Java中解析JSON

我试图解析Java中的JSON字符串并找到键值对,以便我可以确定JSON对象的近似结构,因为JSON字符串的对象结构是未知的.

例如,一个执行可能有一个像这样的JSON字符串:

  {"id" : 12345, "days" : [ "Monday", "Wednesday" ], "person" : { "firstName" : "David", "lastName" : "Menoyo" } }
Run Code Online (Sandbox Code Playgroud)

而另一个像这样:

  {"url" : "http://someurl.com", "method" : "POST", "isauth" : false }
Run Code Online (Sandbox Code Playgroud)

我如何循环遍历各种JSON元素并确定键及其值?我看着jackson-coreJsonParser.我看到我如何抓住下一个"令牌"并确定它是什么类型的令牌(即字段名称,值,数组启动等),但是,我不知道如何获取实际令牌的值.

例如:

public void parse(String json)  {
  try {
     JsonFactory f = new JsonFactory();
     JsonParser parser = f.createParser(json);
     JsonToken token = parser.nextToken();
     while (token != null) {
        if (token.equals(JsonToken.START_ARRAY)) {
           logger.debug("Start Array : " + token.toString());
        } else if (token.equals(JsonToken.END_ARRAY)) {
           logger.debug("End Array …
Run Code Online (Sandbox Code Playgroud)

java parsing json jackson

52
推荐指数
3
解决办法
12万
查看次数

将json对象保存到android中的firebase

我是firebase的新手,我正在尝试将json对象数据放入我的firebase中.我知道如何将数据作为类对象放入firebase,但我想放置json对象数据.

有没有办法将json对象数据放入firebase而不将其转换为pojo?

android json pojo firebase

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

Howto convert JsonArray to Hashmap

I've been able to get a jsonarray from a json string, but don't know how to put it in a Hashmap with a String that shows the type of cargo and an Integer showing the amount.

The string:

"cargo":[   
    {"type":"Coals","amount":75309},        
    {"type":"Chemicals","amount":54454},        
    {"type":"Food","amount":31659},     
    {"type":"Oil","amount":18378}
]
Run Code Online (Sandbox Code Playgroud)

java arrays json

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

将JSON与数组进行比较

我正在尝试比较2个JSON文件,它们具有重复值的数组。

我的第一个JSON对象具有如下数组:

"categories": [
            "May",
            "Apr",
            "Mar"
          ]
Run Code Online (Sandbox Code Playgroud)

我的第二个JSON对象具有如下数组:

"categories": [
            "May",
            "May",
            "Apr",
            "Apr",
            "Mar",
            "Mar"
          ]
Run Code Online (Sandbox Code Playgroud)

我正在使用平面映射比较JSON,可以在此链接中找到该映射,使用guava比较JSON

这是我的代码的一部分:

 private String smartJSONsCompare(JSONObject leftJson, JSONObject rightJson) {

    String result = "</br>";
    Gson gson = new Gson();
    Type type = new TypeToken<Map<String, Object>>(){}.getType();
    Map<String, Object> leftMap = gson.fromJson(leftJson.toString(), type);
    Map<String, Object> rightMap = gson.fromJson(rightJson.toString(), type);
    Map<String, Object> leftFlatMap = FlatMapUtil.flatten(leftMap);
    Map<String, Object> rightFlatMap = FlatMapUtil.flatten(rightMap);
    MapDifference<String, Object> difference = Maps.difference(leftFlatMap, rightFlatMap);
    StringBuilder SB = new StringBuilder("</br>");
    SB.append("Entries only on LEFT: …
Run Code Online (Sandbox Code Playgroud)

java json

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

如何使用iterator java将JSONObject转换为其所有键的新Map

我有一个JSONObject

{"2016":{"12":{"20":{"19":{"DonationTime":11111111111,"Donation":10}}}}}
Run Code Online (Sandbox Code Playgroud)

我想用每个键将它转换为新地图

int i = 0;
for (Iterator<String> keysItr = object.keySet().iterator(); keysItr.`hasNext(); i++) {
            String key = keysItr.next();
            Object value = object.get(key);

            if(value instanceof JSONObject) {
                value = toMap((JSONObject) value);

                map.put(key, value);
            }

        }

        SOP(map);   //but here i want to get 4 maps
    }
Run Code Online (Sandbox Code Playgroud)

我想得到4张地图

hourMap[19] = "{"DonationTime":11111111111,"Donation":10}";
dayMap[20] = "{"19":{"DonationTime":11111111111,"Donation":10}}";
monthMap[12] = "{"12":{"20":{"19":{"DonationTime":11111111111,"Donation":10}}}";
yearMap[2016] = "{"12":{"20":{"19":{"DonationTime":11111111111,"Donation":10}}}";
Run Code Online (Sandbox Code Playgroud)

我正在使用for循环但我无法获得i的递增值.

java json iterator loops hashmap

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

标签 统计

java ×8

json ×8

jackson ×2

parsing ×2

android ×1

arrays ×1

collections ×1

firebase ×1

gson ×1

hashmap ×1

iterator ×1

loops ×1

pojo ×1