问题标签 [json4s]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
678 浏览

scala - Strange behaviour of Scala for-comprehension and json4s

The code below should:

  • iterate over a sequence of strings
  • parse each one as json,
  • filter out fields whose names could not be used as an identifier in most languages
  • lowercase the rmaining names
  • serialize the result as a string

It behaves as expected on small tests, but on an 8.6M item sequence of live data the output sequence is significantly longer than the input sequence:

I have checked that it actually increases the number of unique items, so it is not just duplicating items. Given my understanding of Scala comprehensions & json4s, I do not see how this is possible. The large live data collection is a Spark RDD, while my tests were with an ordinary Scala Seq, but that should not make any difference.

How can json have more elements than txt in the above code?

0 投票
1 回答
2970 浏览

json - json4s中`render`的目的

在 json4s 示例和文档中,我经常看到成语

我认为我实际上没有看到一个将紧凑或漂亮直接应用于生成的代码的示例JValue,但我不清楚render这里在做什么。渲染有类型JValue => JValue,我看不出它产生和运行有什么明显的区别

在我的一些数据上返回一个空的空集合。

实际上是做什么的render

0 投票
1 回答
1089 浏览

scala - 如何解析 json 并根据其内容提取到不同的案例类

我正在尝试使用 json4s 以 json 格式解析不同类型的事件。我编写了一些案例类来表示所有从基类继承的不同事件Event

这是我用来解析StartSession事件的函数:

这个函数将正确解析一个像{"EventType":"StartSession","Platform":"Portal"}

我正在寻找一种方法来概括解析器函数,以便我可以使用它来解析所有类型的事件,Event然后对函数的返回值进行模式匹配。

0 投票
1 回答
316 浏览

android - json4s 在 Android 上将案例类 Test("test") 序列化为 "{}"

我在 Android Scala 应用程序(使用"com.hanhuy.sbt" % "android-sdk-plugin" % "1.3.5")中将案例类图序列化为 JSON。

我正在使用"org.json4s" %% "json4s-native" % "3.2.10",即使使用如下所示的简单案例类,它也会失败:

实际序列化的代码如下所示:

输出是:

我怀疑是 ProGuard 问题,我的 ProGuard 设置build.sbt如下:

我也尝试过,json4s-jackson但没有任何区别。

ProGuard 日志如下所示:

有任何想法吗?

0 投票
2 回答
5565 浏览

json - 如何使用 json4s 将 JString 转换为 Int

我们最近从 Jerkson 切换到 json4s,我们很快发现这两个库的默认反序列化行为大相径庭。

我们遇到的问题之一是我们有时会收到 json 输入,其中数字字段表示为字符串而不是数字

这些需要反序列化为以下类

这是我们将 json 反序列化为任意类的一般设置

但是,每当我们尝试使用它抛出的 id 的字符串表示形式解析 json 对象时,以及带有消息的异常:

offer 没有可用值 id 没有可用值 不知道如何将 JString(12545) 转换为 int

我一直在寻找一种为整数字段设置自定义阅读器的方法,它试图将字符串解析为整数,但我还没有找到涵盖我们用例的解决方案。我们需要的是一个通用的包罗万象的解决方案,以支持遗留应用程序。

任何人都知道如何实现这一目标?

0 投票
1 回答
13111 浏览

json - 如何使用 json4s 从 json 数组中解析和提取信息

我目前正在尝试使用 json4s (scala) 从 json 数组中提取信息。

示例数据如下:

我的代码如下:

输出结果是:

似乎没有正确检索数据。我的代码有问题吗?

更新:它根据@Kulu Limpa 的建议工作。

0 投票
1 回答
833 浏览

scala - 解除 JSON JValue 提取问题

我正在处理混合类型的情况并尝试使用将 Jv 转换为 List[Strings]

提取不起作用。

有人能告诉我我该怎么做吗

0 投票
1 回答
885 浏览

scala - 无法从 scala 2.10 中超过 22 个字段的 json 中提取数据

我正在尝试从每条记录具有 n > 22 个键值对的 json 数据集中提取值。为此,我实现了一个包含 n 个成员变量的案例类。但是,scala 2.10.x 编译器报告“实现限制:案例类不能有超过 22 个参数。”

问题似乎来自scala编译器的限制,但是解决这个问题有什么弯路吗?

更新:

我试图将大案例类分解为较小的案例类(使用嵌套案例类),但在这种情况下程序无法正确解析 json。我认为json4s的实现不允许我们这样做。

0 投票
1 回答
592 浏览

scala - Json4s:尝试将 Json 属性转换为 java.sql.Date 时出现问题

Json4s用来反序列化 json 消息。我有一个案例类

每当我尝试将 json 消息转换为案例类 A 时,我得到 none 作为 b 的值

我该如何解决这个问题

0 投票
1 回答
572 浏览

json - ObjectId 未序列化为 JSON

我正在使用 scalatra 并将我的 servlet 配置为始终返回 JSON(如相应指南中所述)。使用 MongoDB 和 Salat 引导我将 MongoDBObject 读回到我的案例类中——这似乎工作得很好。

我的案例类:

打印案例类对象输出:

如您所见,objectid 是 org.bson.types.ObjectId。自动序列化为 JSON 将其发送到浏览器:

我的 ObjectID 在哪里?我究竟做错了什么?