java - 在用户对象 Java Jackson 或 Gson 的一侧将有序的 JSON 字符串构建到 LinkedHashMap 如何?

标签 java json jackson gson

在对象 Java jackson 或 Gson 中将有序的 JSON 字符串构建到 LinkedHashMap 如何??? 但我希望它按插入键的顺序排列,就像这样。

public class User {

private String user
private String role;

Map<String,String > myLinkedHashMap =  new LinkedHashMap<String, String>();

public void setUser(String user) {
    this.user = user;
}

public void setRole(String role) {
    this.role = role;
}

public String getUser() {
    return user;
}

public String getRole() {
    return role;
}
 ...
}

主要

 string json= "[    {    "user": "Tom",    "role": "READER",   
 "myLinkedHashMap": {
        "1": "first",
        "2": "second",
        "3": "third"   }  } ]";

         output=getUserFromJsonString(json);

  public ClaimDoc getUserFromJsonString(String claimDoc) throws
 IOException {
         ObjectMapper mapper = new ObjectMapper();
         return mapper.readValue(claimDoc, ClaimDoc.class);
     }

输出是

  [
    {
    "user": "Tom",
    "role": "READER",
    "myLinkedHashMap": {
        "3": "third"
        "1": "first",
        "2": "second"

   }
  }
 ]

但我想按插入的顺序,像这样:

   [
    {
    "user": "Tom",
    "role": "READER",
    "myLinkedHashMap": {
        "1": "first",
        "2": "second",
        "3": "third"
   }
  }
 ]

最佳答案

在 User 类而不只是 Map 使用 LinkedHashMap 它会起作用

LinkedHashMap<String,String > myLinkedHashMap =  new LinkedHashMap<String, String>();

关于java - 在用户对象 Java Jackson 或 Gson 的一侧将有序的 JSON 字符串构建到 LinkedHashMap 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089471/

相关文章:

java - 使用运行时指定的类将 JSON 解析为 POJO

java - 想要隐藏由 Jackson 映射到 JSON 的对象的某些字段

java - Java 的 mark-preclean-sweep-reset GC 行的定义?

javascript - Ajax在php中提交表单序列化数据为空

java - build.properties添加: compilerArg in Eclipse plug-in

javascript - 按输入日期过滤 ng-repeat

php - 从 PHP Zend 2 中的 POST 请求中解码 JSON 字符串

java - 自定义 jackson 解码行为

java - log4j:在我的日志文件中仅显示信息(不显示调试)

java - 使用try-catch java