Вопросы по теме 'circe'
Кодирование Scala None в значение JSON с использованием circe
Предположим, у меня есть следующие классы case, которые необходимо сериализовать как объекты JSON с помощью circe:
@JsonCodec
case class A(a1: String, a2: Option[String])
@JsonCodec
case class B(b1: Option[A], b2: Option[A], b3: Int)
Теперь...
5079 просмотров
schedule
28.03.2023
Как создать кодировщик исключений в Circe?
В моем приложении мне нужно, чтобы некоторые Option кодировались в null , когда они пусты, а другие исключались, когда они пусты. Судя по сигнатуре Encoder , это кажется невозможным для обертки специального типа Option . Есть ли хороший способ...
134 просмотров
schedule
06.03.2023
Circe — использовать поля по умолчанию в классе case при декодировании/кодировании json
Допустим, у меня есть этот класс case:
case class Foo(bar: String, baz: Boolean = false)
который используется при декодировании/кодировании запросов/ответов API с использованием https://github.com/hseeberger/akka-http-json
в примере,...
3880 просмотров
schedule
19.03.2023
Как использовать akka-http-circe для вызовов на стороне клиента?
Я пытаюсь выполнить простой вызов REST API, используя akka-http, circe и https://github.com/hseeberger/akka-http-json (в частности, akka-http-circe).
import io.circe.generic.auto._
object Blah extends FailFastCirceSupport {
//...
val fut:...
1538 просмотров
schedule
26.11.2022
кодировщики / декодеры scala circe для абстрактного класса с классами case
Я хочу сохранить коллекцию классов FieldMapping в виде строки json -
abstract class Field {
def clazz: Class[_]
def name: String
}
case class StringField(name: String) extends Field {
override def clazz: Class[_] = classOf[String]
}
case...
2093 просмотров
schedule
02.04.2022
Потоковое декодирование JSON с использованием предпочтительно Circe и Akka Streams
Мой вариант использования похож на эту запись , я хочу прочитать внутреннюю, огромный массив (несколько гигабайт в виде текста) из объекта JSON, например:
{ "a": "...", // root level fields to be read, separately
...
"bs": [ // the...
609 просмотров
schedule
28.06.2022
Как написать собственный декодер для [Option [Option [A]]] в Circe?
Я написал Reads конвертер в play-json для Option[Option[A]] , который имел следующее поведение:
//given this case class
case class MyModel(field: Option[Option[String]])
//this JSON -- maps to --> this MyModel:
//"{ \"field\": \"value\" }"...
668 просмотров
schedule
01.08.2022
Scala circe декодирует тип Map[String, String]
У меня есть объект Map[String, String] , который я хочу использовать как json. Я написал кодировщик для этого типа:
implicit val encodeMap: Encoder[Map[String, String]] = new Encoder[Map[String, String]] {
override def apply(values: Map[String,...
1401 просмотров
schedule
29.05.2023
Расшифровка последовательности объектов с помощью Circe
У меня есть два класса, которые выглядят примерно так
import io.circe.Decoder
case class FactResponse(id: String, status: String) {
...
}
object FactResponse {
implicit val decoder: Decoder[FactResponse] =
Decoder.forProduct2("id",...
1307 просмотров
schedule
10.06.2022
Преобразование Json в карту [String, String]
Я ввел json как
{"a": "x", "b": "y", "c": "z", .... }
Я хочу преобразовать этот json в карту типа Map [String, String]
так что в основном карта пар ключ-значение.
Как я могу это сделать с помощью Circe?
Обратите внимание, что я не...
4804 просмотров
schedule
13.04.2022
Как представить динамические ключи JSON в Scala при использовании circe
Я пытаюсь представить следующий JSON как класс случая Scala:
{
"cars": {
"THIS IS A DYNAMIC KEY 1": {
"name": "bla 1",
},
"THIS IS A DYNAMIC KEY 2": {
"name": "bla 2",
}...
682 просмотров
schedule
06.09.2022
Результат декодирования Akka Http / Circe
Прошу прощения, если мне не хватает чего-то простого, но я пытаюсь использовать Akka HTTP с Circe (используя https://github.com/hseeberger/akka-http-json модуль Circe). Я пытаюсь получить результаты вызова GET в ScalaTest, который смешивается с...
698 просмотров
schedule
19.04.2024
Сбой компиляции sbt из-за неправильной опции: '-Ywarn-macros:after'
С файлом build.sbt, например:
ThisBuild / organization := "com.company"
ThisBuild / version := "1.0.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.11.12"
Global / concurrentRestrictions += Tags.limit(Tags.Test, 1)
Global / scalacOptions ++=...
836 просмотров
schedule
17.06.2023
Изменить тип поля json через circe
У меня простой Json:
val str = """{"test":"123"}"""
Как я могу изменить String "123" на Int 123 , чтобы получить новый Json ?:
{"test":123}
Сейчас использую:
val json = parse(str).getOrElse(Json.Null)
val jsObj =...
272 просмотров
schedule
19.05.2022
Как анализировать вложенные массивы Json с помощью Circe Optics
Я прочитал пример, приведенный в документации Circe, с использованием Circe Optics. Пример в документации довольно прост, потому что путь к узлу довольно легко найти.
В моем случае json выглядит как
import io.circe._, io.circe.parser._
val...
860 просмотров
schedule
11.04.2022
Как сгладить JSON-представление объектов, используя circe, то есть от класса case до его строкового представления?
У меня есть собственный класс Date , который мы используем внутри:
case class Date(month: Int, day: Int, year: Year)
И используйте это так:
case class Person(dateOfBirth: Date)
Однако, когда я генерирую Json для Person(Date(12, 20,...
319 просмотров
schedule
13.12.2022
Scala конвертирует многослойный json в многослойную карту
У меня многослойная карта:
import scala.io.Source
import scala.collection.mutable
import io.circe.Printer
import io.circe.parser._
import io.circe.syntax._
var map = mutable.Map[String, mutable.Map[String, mutable.ArrayBuffer[String]]]()...
55 просмотров
schedule
12.05.2022
json Универсальный декодер со значениями по умолчанию с использованием scala с circe
Я столкнулся со странной ситуацией. Я пытаюсь создать метод, который принимает тип и JSON и встраивает его в экземпляр класса case и, при необходимости, автоматически заполняет отсутствующие ключевые значения. Пока мне удалось сделать все отдельно,...
519 просмотров
schedule
05.04.2022
Конечная точка, получающая список объектов из иерархии
Конечная точка в Akka Http выглядит так:
pathPrefix("somePath" / Segment) { someData =>
post {
entity(as[SMS]) { sms =>
// some code here ...
complete(StatusCodes.OK)
}
}
}
А СМС определяется как:...
85 просмотров
schedule
14.11.2022