小编ya_*_*ser的帖子

简单的惯用方法来定义简单案例类的订购

我有一个简单的scala案例类实例列表,我想用可预测的字典顺序打印它们list.sorted,但是接收"没有为......定义的隐式排序".

是否存在为案例类提供词典排序的隐式?

是否有简单的惯用方法将词典排序组合成案例类?

scala> case class A(tag:String, load:Int)
scala> val l = List(A("words",50),A("article",2),A("lines",7))

scala> l.sorted.foreach(println)
<console>:11: error: No implicit Ordering defined for A.
          l.sorted.foreach(println)
            ^
Run Code Online (Sandbox Code Playgroud)

我对'黑客'不满意:

scala> l.map(_.toString).sorted.foreach(println)
A(article,2)
A(lines,7)
A(words,50)
Run Code Online (Sandbox Code Playgroud)

sorting scala case-class

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

jackson将数组反序列化为java对象

我有host, port, uri第三方编码的json'ed 元组数组作为固定长度数组的数组:

[
  ["www1.example.com", "443", "/api/v1"],
  ["proxy.example.com", "8089", "/api/v4"]
]
Run Code Online (Sandbox Code Playgroud)

我想用杰克逊魔法获取一个实例列表

class Endpoint {
    String host;
    int port;
    String uri;
}
Run Code Online (Sandbox Code Playgroud)

请帮我添加正确的注释,使ObjectMapper能够发挥作用.

我无法控制传入的格式,所有我的google'n都以如何将正确的json对象(不是数组)数组映射到对象列表(如/sf/answers/444464191/)的答案结束)

= /sf/users/4165101//sf/answers/2667791801/中建议的工作解决方案

public static void main(String[] args) throws IOException {
    String input = "" +
            "[\n" +
            "  [\"www1.example.com\", \"443\", \"/api/v1\"],\n" +
            "  [\"proxy.example.com\", \"8089\", \"/api/v4\"]\n" +
            "]";

    ObjectMapper om = new ObjectMapper();
    List<Endpoint> endpoints = om.readValue(input, 
        new TypeReference<List<Endpoint>>() {});

    System.out.println("endpoints = " + endpoints);
}

@JsonFormat(shape = …
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

标签 统计

case-class ×1

jackson ×1

java ×1

json ×1

scala ×1

sorting ×1