在写入文件之前格式化 JSON

2024-03-05

目前我正在使用杰克逊 JSON 处理器 https://web.archive.org/web/20150315020718/http://jackson.codehaus.org/将首选项数据等写入文件主要是因为我希望高级用户能够修改/备份这些数据。 Jackson 在这方面非常棒,因为它非常容易使用,而且显然表现得不错(请参阅here http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking),但是我似乎遇到的唯一问题是当我跑步时myObjectMapper.writeValue(myFile, myJsonObjectNode)它将所有数据写入ObjectNode到一根线。我想做的是将 JSON 格式化为更用户友好的格式。

例如,如果我将一个简单的 json 树传递给它,它会写入以下内容:

{"testArray":[1,2,3,{"testObject":true}], "anotherObject":{"A":"b","C":"d"}, "string1":"i'm a string", "int1": 5092348315}

我希望它在文件中显示为:

{
    "testArray": [
        1,
        2,
        3,
        {
            "testObject": true
        }
    ],
    "anotherObject": {
        "A": "b",
        "C": "d"
    },
    "string1": "i'm a string",
    "int1": 5092348315
}

有谁知道我可以用 Jackson 做到这一点,或者我是否必须从 Jackson 获取 JSON 字符串并使用另一个第三方库来格式化它?

提前致谢!


尝试像这样创建对象编写器

 ObjectWriter writer = mapper.defaultPrettyPrintingWriter();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在写入文件之前格式化 JSON 的相关文章

  • JAVA_HOME环境变量和Java JDK趣事

    我想让 Java 在 1 6xxx 上运行 我更改了 JAVA HOME 变量并将其指向目录 C Program Files Java jdk1 6 0 16 我重新启动 PC 我想我可以检查我的机器指向哪个版本的 Java 但它仍然指向旧
  • 如何在 Objective C 中创建 json 字符串?

    我必须动态生成一个 json 字符串并需要发送到服务器 有谁知道如何使用NSJSONSerialization 下面是我的字符串 surveyid Survey1 responsetime dd mm yyyy hh mm ss locat
  • cygwin有java sdk吗?

    cygwin有java sdk吗 如果有一个使用 cygwin 文件系统和 X windows 进行显示的本机 cygwin 实现 那就太好了 不幸的是我不知道这样的版本 我认为移植 OpenJDK 也需要付出很大的努力 但我还没有尝试过
  • WCF 自定义序列化器

    我正在 WCF 中创建一个返回 JSON 的 Web 服务 但 DataContractJsonSerializer 对某些循环引用犹豫不决 在这种特殊情况下我无法删除这些引用 相反 我想使用 Newtonsoft json 库 在 WCF
  • 克隆 dom.Document 对象

    我的目的是将xml文件读入Dom对象 编辑dom对象 其中涉及删除一些节点 完成此操作后 我希望将 Dom 恢复到其原始状态 而不实际解析 XML 文件 无论如何 我可以克隆第一次解析 xml 文件后获得的 dom 对象吗 这个想法是避免一
  • 打印数组时出错

    我得到这个代码 import java util import java io public class Oblig3A public static void main String args OrdAnalyse O new OrdAna
  • android.os.FileUriExposedException 在 Oreo 中引起(仅!)[重复]

    这个问题在这里已经有答案了 从 Google Play Console 中 我可以看到此异常仅发生在 Android 8 0 的设备上 android os FileUriExposedException at android os Str
  • java.time.LocalDate 到 java.util.Date

    转换的最佳方式是什么java time LocalDate to java util Date Date from dateToReturn atStartOfDay ZoneId systemDefault toInstant 我一直在尝
  • 外部化 Spring Security 配置?

    我有一个 Web 应用程序 可以使用 Spring Security 的几种不同配置 但是 这些差异配置都是在我的 applicationContext 配置文件中设置的 因此 为了在客户站点调整这些内容 必须在 WAR 文件内修改这些内容
  • 使用嵌入式 Jetty 7 发布 JAX-WS 端点

    有人可以帮忙吗 我想使用嵌入式 Jetty 7 作为端点 这是我尝试过的 public class MiniTestJetty WebService targetNamespace http public static class Calc
  • 当对话框打开时如何处理屏幕方向变化?

    我有一个 Android 应用程序 它已经在处理方向的更改 即有一个android configChanges orientation 在清单和onConfigurationChange 活动中的处理程序切换到适当的布局并准备它 我有一个横
  • 使用 JSON 传递 HTML

    我正在使用 JSON 将数据传递到 iPhone 和 iPad 数据的一个字段是 HTML 问题是编码 这是我得到的回复 gt GadgetHTML strong Hello strong gt from Catworld br n img
  • serde_json::from_str 错误,其中字符串来自文件

    extern crate serde json use serde json Value use std fs File use std io prelude fn main let filepath map test anhui txt
  • Java如何区分这些具有相同名称/签名的多个方法?

    今天我在追踪一个错误 我注意到我们的一个班级中有一些奇怪的事情 我删除了尽可能多的代码并发布在这里 class A static int obtainNumber return 42 static int obtainNumber retu
  • 如何在 Spring GCP 中订阅多个 Google PubSub 项目?

    我想在 Spring Boot 应用程序中订阅多个 Google Cloud PubSub 项目 阅读完相关问题后如何使用 Spring Cloud 在一个 Spring Boot 应用程序中连接 配置两个 pubsub gcp 项目 ht
  • java中从视频中提取图像

    我想知道如何使用 JMF 从视频中提取图像 Player player Manager createRealizedPlayer cdi getLocator player start FrameGrabbingControl frameG
  • 如何在 VSCode 中热重载 Tomcat 服务器

    我正在从 Eclipse IDE VSCode 分别用于编码 Java servlet 和 HTML CSS JS 网页 迁移到仅使用 Visual Studio Code 因为它的轻量级 我为 VSCode 安装了几个 Java 扩展 R
  • 将Json字符串映射到java中的map或hashmap字段

    假设我从服务器返回了以下 JSON 字符串 response imageInstances one id 1 url ONE two id 2 url TWO 杰克逊代码大厦 JsonProperty 我怎样才能得到HashMap对象出来了
  • eclipse.ui.menus 的名称过滤器

    我有一个菜单贡献 通过实现org eclipse ui menus扩展点 我想仅为特定文件扩展名 例如 pld 提供此菜单贡献 但我不知道如何使用 visibleWhen 来做到这一点 有任何想法吗 更新 到目前为止我的扩展点
  • 仅当用户开始输入时清除 JavaFX TextField 中的提示文本

    默认行为是当字段获得焦点时 字段中的提示文本将被删除 那是标记在场上的时候 是否可以配置文本字段 以便仅在用户开始输入时删除提示文本 否则 我需要在每个文本字段旁边 上方添加一个标签 以描述其中的值 我知道它有点旧 但我自己也需要它 这仍然

随机推荐

  • 导航栏中带有大图块或搜索栏的 UIRefreshControl 的动画出现故障

    我有一个嵌入导航控制器的控制器 带有大标题和 UIRefreshControl 当我在 tableView 上进行拉动刷新时 活动指示器的动画非常不稳定 我不知道我的代码是否有不良行为 tableView refreshControl UI
  • 多列数据转换

    我正在从数据源接收数据 在将信息发送到 UI 进行显示之前 我需要先进行数据透视 I am new to concept of pivoting I am not sure how to go about it 问题有两个部分 形成标题 旋
  • .NET 中是否有热插拔的参考实现?

    我正在寻找在 NET 中完成热交换的良好实现 我需要的东西是 能够将 DLL 部署到特定文件夹中并让正在运行的系统拾取它们 让正在运行的系统更新容器中的相应引用 我一直在研究MEF及其目录加载机制 但它似乎非常不可靠 也许有人有替代的实现
  • 相当于 conda 的 apt-get install python3.6-dev

    如何使用开发版本的python创建conda环境 或者当我创建一个时它是否已经包含所有必要的扩展 conda create n py36 python 3 6 conda search python最高版本为 3 6 5 因此我认为只能通过
  • Bootstrap Sass Rails 4 自定义样式

    我正在尝试使用 bootstrap 自定义 Rails 应用程序的样式变量较少可用的here http getbootstrap com customize 我正在使用引导 Sass https github com twbs bootst
  • 如何在 numpy 中进行分散/聚集操作

    可以说我有数组 a array 1 2 3 4 5 indices array 1 1 1 1 我执行操作 a indices 1 结果是 array 1 3 3 4 5 换句话说 重复项indices被忽略 如果我希望重复项不被忽略 结果
  • 如何在 Swift 中将 UInt8 字节数组转换为字符串

    我在转换时遇到问题UInt8swift 中的字节数组到字符串 我已经搜索并找到了一个简单的解决方案 String stringWithBytes buff encoding NSUTF8StringEncoding 但它显示错误String
  • IllegalArgumentException:不支持的 ABI:Android 5.0 上的 VMRuntime.getInstructionSet() 中为 null

    在我们最近更新后 在 Google Play Console 上看到我们 Unity 制作的游戏发生崩溃 超过 99 的情况发生在 Android 5 0 上 我猜这与 WebView 有关 并看到了这个相关帖子 https bugs ch
  • 尝试在 h5py 中打开 pandas 创建的 hdf 时缺少列

    这就是我的数据框的样子 第一列是一个整数 第二列是 512 个整数的单个列表 IndexID Ids 1899317 0 47715 1757 9 38994 230 12 241 12228 22861131 0 48156 154 63
  • 配置android EditText以允许小数和负数

    我有一个安卓EditText我想让数字键盘出现 如果我将 android inputType 设置为 numberSigned 我将获得数字键盘并能够输入负数 然而 这不会让我使用小数 如果我使用 numberDecimal inputTy
  • 单元测试中用于检查代码覆盖率的反思

    这是场景 我有 VO 值对象 或 DTO 对象 它们只是数据的容器 当我将它们分开并保存到数据库 由于很多原因 无法优雅地映射到 VO 时 我想测试每个字段是否已在数据库中成功创建并成功读回重建 VO 有没有办法可以测试我的测试是否涵盖了
  • R - geom_密度()使用什么算法以及如何提取曲线的点/方程?

    我想知道 geom 密度 到底在做什么 所以我证明了该图的合理性 以及是否有任何方法可以提取为绘制的每条曲线生成的函数或点 Thanks Typing get compute group ggplot2 StatDensity 或者 以前
  • python和mysql中的矩阵乘法

    我有一本货币兑换字典 如下 exchange rates USD 1 00000 EUR 1 32875 GBP 1 56718 然后我使用以下方法检索产品的销售信息 SELECT price currency FROM sales 可能有
  • 在 Vaadin 视图中显示 PDF

    我想在 Vaadin 视图中显示 PDF 我创建一个 BrowserFrame 并传递 PDF 的 StreamResource StreamResource streamResource new StreamResource getPre
  • 使用Haskell的map函数计算列表的总和

    Haskell addm Int gt Int addm x xs sum x xs 我能够使用以下方法获得列表的总和sum函数 但是是否可以使用以下方法获得列表的总和map功能 还有地图功能有什么用 你不能真正使用map总结一个列表 因为
  • Java 能识别无限循环吗?

    给出以下代码示例 public class WeirdStuff public static int doSomething while true public static void main String args doSomethin
  • 具有相同 crs、范围、维度、分辨率的栅格不对齐

    我正在查找枫糖浆每年的平均生产天数 我的 Maple 分布数据位于 ascii 文件中 我有一个名为的栅格 从 NetCDF 文件创建 brick Tmax 我想要匹配的规格brick Tmax我的枫树分布数据 These are the
  • 在C中创建文件头(文件的元数据)

    文件头包含有关文件的所有数据 mdash 元数据 我想创建一个带有元数据的空白文件 然后我想将其他文件内容添加到这个空白文件中 并且需要更改 修改 元数据 C语言中有没有用于创建文件头的库 如何用C语言读取 写入文件头 metadata f
  • 在 Visual Studio 中调试 AngularJS(不是在 VS Code 中)

    有没有办法在 Visual Studio 中调试 AngularJS 代码 Note 我不是在谈论 VS Code 我希望能够设置断点并查看那里发生了什么 我知道其他 IDE 可以让我们做到这一点 那么可以使用 Visual Studio
  • 在写入文件之前格式化 JSON

    目前我正在使用杰克逊 JSON 处理器 https web archive org web 20150315020718 http jackson codehaus org 将首选项数据等写入文件主要是因为我希望高级用户能够修改 备份这些数