当前位置: 首页 > 知识库问答 >
问题:

如何使用JSONArray保存json的原始顺序

牛经赋
2023-03-14

我正在使用JSONArray对象,并将一个字符串传递给该对象的构造函数。我传递的是

[{\“x\”:18.4300,\“y\”:30.4700,\“w\”:53.0900,\“字体大小\”:11,\“bold\”:0,\“charcount\”:22,\“id\”:349133}]

[{“charcount”:22,“w”:53.09,“x”:18.43,“y”:30.47,“fontsize”:11,“bold”:0,“id”:349133}]

我能得到一个如何保留原始json字符串的顺序的代码示例吗?

共有1个答案

越伯寅
2023-03-14

您可以使用一个ordered集合来解析json以保持其有序性。JSON示例:

    String json = "[{\"x\":18.4300,\"y\":30.4700,\"w\":53.0900,\"fontSize\": 11,\"bold\": 0,\"charcount\": 22,\"id\": 349133}]";
    Gson gson = new Gson();
    Type type = new TypeToken<Set<LinkedTreeMap<String, Object>>>() {}.getType();
    Set<LinkedTreeMap<String, Object>> myMap = gson.fromJson(json, type);
    System.out.println(json);
    System.out.println(myMap);
 类似资料:
  • 问题内容: 我正在使用Json-Simple使用JSon-Simple lib编写配置文件,但是在将json字符串转换为map时遇到问题。 调试我发现parse方法返回的对象是Map!但是当我尝试直接投射到LinkedMap时,我得到了ClassCastException: 问题答案: 除非您知道基础对象实际上是LinkedHashMap(或者是扩展LinkedHashMap的类的实例),否则不能

  • 我使用RedisCacheManager在我的Spring启动应用程序中存储我的缓存数据。默认序列化程序似乎将所有内容序列化为字节,并从字节反序列化为适当的java类型。 但是,我想将缓存数据存储为json,这样我就可以从non-java客户端读取它。 我发现,从默认的序列化程序切换到其他序列化程序(如Jackson2JsonRedisSerializer)应该可以工作。执行此操作后,反序列化阶段

  • 我试图发布如下所示的原始json: 它与postman一起工作很好,但在改型中,它将单个值添加到db中,我尝试使用以下代码:

  • 我试图从流中获取订单地图。我有下一个代码: 在这里,我尝试对数据流进行排序,我认为地图也是有序的。但我错了。我认为调用collect(Collectors.toMap())不会保存流的顺序。有我如何做到这一点的例子吗?

  • 我有以下数据帧: am使用以下列表筛选数据帧: 并使用以下命令获得以下输出: 输出 如何更改代码,使索引如下所示? 本质上,我正在寻找一种方法来过滤具有列表的DF,并按照筛选列表的顺序返回原始索引值。 谢谢 我查看了这个,但并没有找到我要查找的内容:按列表的顺序从列表中选择数据帧的行

  • 问题内容: 以下SQL查询: 返回: 要添加一次,只需添加一次即可: 但是,结果值改变了顺序: 可能是什么原因呢? 我如何保留订单? 问题答案: 该关键字是做什么它应该做的事情,回报每一个行与给定的列值。不同不允许您指定 哪些 这样的行会被退回,这是从原来的查询,这样的排序是允许清楚(存在一个跟随ID为429的行ID为443行)。 要控制将返回哪些行,您需要重新构造查询。我将采用的典型解决方案是使