java - 使用 json-simple 时解析 JSON 字符串并保留键数据顺序,无需手动构造 HashMap
问题描述
我知道这个话题已经被讨论过了,使用 aLinkedHashMap
是一种“hacky”方式来操纵它,但是如果我有数千个 JSON 字符串作为输入,并且最终想要以原始形式输出它们,无论如何都可以在不手动构建 LinkedHashMaps
的情况下保留订单。
例如这样的字符串
{"key":1,"surname":"Reed","given":"Ryan","address":{"state":"CA","postal":"90210"},"gender":"M"}
现在,如果我像这样解析对象:
JSONObject jsonObject = (JSONObject) parser.parse(str);
System.out.println(jsonObject);
我的输出将如下所示:
{"surname":"Reed","gender":M,"address":{"postalCode":"90210","state":"CA"},"key":1,"given":"Ryan"}
无论如何我可以让输出与给定的输入完全匹配吗?
解决方案
在 Json 属性结构中,顺序无关紧要。但是,如果您有特定的订单,您可以使用 Jackson 以您想要的方式订购它们,无论是在您的服务器和客户端应用程序中。
推荐阅读
- c++ - 虚拟析构函数 Arduino 由于未定义对运算符删除的引用
- python - 我正在用 Python 制作我的第一个 UI 程序,我需要帮助检查 IF 语句中按钮的颜色
- ios - Google 登录 iOS 无法登录
- python-3.x - 将数据中的网格转换为地球上的距离
- node.js - 确定是否已将任何新 USB 设备插入树莓派的最佳方法是什么
- user-interface - 如何在 Flutter 中制作适合所有屏幕的列
- xml - 如果元素树与 BeautifulSoup 的 XML 中的一个节点具有相同的名称,如何定位一个值
- python - 正则表达式提取以相同 url 开头的页面
- javascript - 如何隐藏包含一些字母的下拉列表项,并在按下按钮后显示它们
- angular - Set-Cookie 标头未出现在 Google Chrome 中