Описание тега argonaut
Argonaut - это библиотека JSON для Scala, предоставляющая богатую библиотеку для синтаксического анализа, печати и обработки, а также удобные кодеки для преобразования в типы данных scala и обратно.
0
ответов
Добавьте дополнительное поле к экземпляру EncodeJson на argonaut-shapeles
Есть ли способ указать дополнительное поле, которое добавляется в автоматически сгенерированный кодировщик класса дел? Поле будет полем типа типа суммы, частью которого является класс case, поэтому он генерирует действительный json даже в том случае…
19 май '16 в 08:53
1
ответ
Написание DecodeJson для иерархии запечатанных черт?
Дано: import argonaut._ import Argonaut._ import ArgonautShapeless._ sealed trait Parent case class Foo(x: Int) extends Parent case class Bar(y: String) extends Parent Я попытался определить DecodeJson[Parent]: implicit val parentDecodeJson: DecodeJ…
17 окт '17 в 20:35
1
ответ
Нужно ли избегать размышлений при разработке библиотек scala?
Принимать argonaut например, в некоторых наших проектах, когда есть необходимость обрабатывать JSON, люди будут использовать для этого аргонавт и жестко кодировать поля, например: implicit def AddressCodecJson: CodecJson[Address] = casecodec3(Addres…
13 июл '15 в 05:22
1
ответ
Простая библиотека Scala JSON для нерекурсивных классов
У меня есть классы дел, которые содержат только строки или коллекции строк и хотят преобразовать их в объекты JSON с соответствующими именами полей плюс дополнительное поле для обозначения типа. sealed trait Item case class ProductX(a: String, b: St…
20 мар '15 в 19:17
1
ответ
Как удалить ключи с нулевыми значениями из объектов Argonaut Json
Как можно написать метод расширения, чтобы удалить все ключи с null значение от Аргонавта Json объект: Я попробовал это: package object Extensions { implicit class JsonExtensions(val json: Json) extends AnyVal { def removeNulls: Json = { json.withOb…
02 авг '16 в 18:16
2
ответа
Как получить лучшие сообщения об ошибках при разборе JSON с Argonaut и пользовательскими кодеками
Я использую Argonaut для анализа JSON с моими пользовательскими кодеками. Мой код выглядит так: val json: String = ... val parsed = Parse.decodeEither[MyClass](json) val checks = if (parsed.isRight) parsed.right.get else sys.error("Unable to parse M…
16 ноя '18 в 14:51
1
ответ
Расшифровывает запечатанную черту в Argonaut на основе структуры JSON?
Учитывая следующий пример: sealed trait Id case class NewId(prefix: String, id: String) extends Id case class RevisedId(prefix: String, id: String, rev: String) extends Id case class User(key: Id, name: String) val json = """ { "key": { "prefix": "u…
23 авг '16 в 19:02
1
ответ
Ошибки при отправке данных в теле с помощью Finagle/Finch в Scala
Я использую Finagle/Finch, и я получаю эту ошибку: diverging implicit expansion for type argonaut.DecodeJson[A] starting with method MapDecodeJson in trait DecodeJsons diverging implicit expansion for type argonaut.DecodeJson[V] starting with method…
20 апр '17 в 02:58
1
ответ
Аргонавт: расшифровка полиморфного массива
Объект JSON, для которого я пытаюсь написать DecodeJson[T] содержит массив различных "типов" (это означает, что структура его элементов в JSON варьируется). Единственной общей чертой является type поле, которое можно использовать для различения типо…
22 ноя '16 в 20:47
2
ответа
Преобразование имен полей JSON в аргонавте
Я пишу библиотеку для преобразования ответов JSON из API по причинам обратной совместимости. И что мне нужно сделать, это взять произвольный JSON и изменить определенные имена полей. Я использую scala и argonaut, но я не вижу никакого способа в доку…
21 янв '14 в 17:14
1
ответ
Как использовать argonaut для разбора необязательного настраиваемого поля?
Я определил пользователя, у которого есть информация о видео: case class User(name:String, video: Option[Video]) case class Video(title:String, url:String) И у нас есть такой JSON: { "name": "somename", "video": { "title": "my-video", "url": "https:…
22 окт '14 в 08:03
1
ответ
Не можете скомпилировать простое выражение Argonaut?
Это проблема несовместимости Скалаза и Аргонавта или это что-то еще? scala> import argonaut._ import argonaut._ scala> import Argonaut._ import Argonaut._ scala> import scalaz._ import scalaz._ scala> import Scalaz._ import Scalaz._ scal…
08 авг '16 в 11:47
0
ответов
Использование общедоступного REST API с использованием Argonaut
Я новичок в Спрей и Скала. В настоящее время я работаю с общедоступным REST API Guild Wars 2. Я хотел бы использовать некоторые ресурсы (например, собирать все ордера на продажу и покупку на торговом посту предмета с именем "Болт Булат"). Я использу…
18 фев '16 в 14:26
0
ответов
DecodeJson со всеми неудачными попытками декодирования?
Учитывая следующее из argonaut документы: import argonaut._ import Argonaut._ case class Person(name: String, age: Int) implicit def PersonDecodeJson: DecodeJson[Person] = jdecode2L(Person.apply)("name", "age") scala> Json.obj("name" -> jStrin…
30 июн '17 в 18:58
1
ответ
Декодирование в рекурсивные АТД с аргонавтом
Я пытаюсь разобрать json как { "element": "string", "content": "application/json" } где element решает, какой тип JSON. Но мой код не удается разобрать. http://scastie.org/15213 import scalaz._, Scalaz._ import argonaut._, Argonaut._, Shapeless._ ca…
26 фев '16 в 11:40
1
ответ
Извлечь тип, ключ и значение из объекта Rapture JSON
Я использую Rapture JSON с бэкэндом Argonaut (могу изменить это при необходимости). Учитывая произвольную строку JSON, мне нужно проанализировать ее как плоский объект (без вложенных объектов JSON), чтобы в идеале получить список кортежей (fieldName…
03 янв '16 в 14:12
1
ответ
Как преобразовать значение json "aaa,bbb" в "Seq[String]" с помощью argonaut?
Я использую аргонавт, чтобы разобрать JSON в тематических классах. Json: { "name" : "Mike", "email" : "a@aaa.com, b@bbb.com" } Scala: case class User(agentName: String, emails: Seq[String]) object User { implicit def DecodeJson: DecodeJson[User] = c…
19 сен '14 в 02:45
1
ответ
Json Argonaut Too Big For Case Case
Есть API, на который я не имею никакого влияния, который имеет объект результата JSON с членом, который имеет 23 поля. Парадигма case-классов не работает, потому что есть предел 22. Я видел, как Slick и другие библиотеки используют HLists для решени…
06 авг '14 в 06:28
2
ответа
Глубокое слияние данных JSON
Можно ли глубоко объединить структуру JSON, используя JSON лифта, аргонавт и т. Д. { "metrics": [{ "name": "abcde", "tags": { "oId": ["pqrs"], "uuid": ["A123-B234"], "entityType": ["test"], "entityName": ["test"] }, "aggregators": [{ "name": "sum", …
28 янв '14 в 06:41
0
ответов
Есть ли какой-нибудь более простой подход к предоставлению значения по умолчанию для незаполненного или пустого строкового поля при анализе JSON с argonaut?
Я использую Argonaut для разбора строк JSON. Существует требование: если какое-либо поле не предоставлено, или оно пустое или пустое, вместо этого укажите строку "не указано". У меня есть решение, но оно кажется очень сложным: case class User(name: …
22 сен '14 в 15:04