Вопросы по теме 'aeson'

Отказоустойчивый парсинг JSON
Я использую Data.Aeson для анализа некоторого JSON в тип записи. Время от времени данные добавляются в JSON, и это ломает мой код, поскольку Эсон жалуется на что-то в результате: ожидаемый объект с 21 парой имя/значение, но получил 23...
1068 просмотров
schedule 17.05.2022

Использование дженериков Aeson для создания JSON со значением в качестве ключа, содержащего другое значение
Немного поиграл с gist API gist, пытаясь разобраться с библиотекой Aeson JSON. У меня возникла проблема со сгенерированным экземпляром ToJSON, и я точно не знаю, как ее решить. Мне нужно содержать значение внутри, и ключ, связанный со значением,...
559 просмотров
schedule 09.02.2023

Проблемы с использованием Aeson для декодирования строки
Я пытаюсь использовать aeson для анализа json, возвращаемого API. Ответ извлекается из конечной точки API с помощью wreq. При запуске любого декодирования в этой строке я получаю: Left "Failed reading: Cannot decode byte '\\xa3':...
471 просмотров
schedule 15.04.2024

Потоковый разбор JSON в Haskell с помощью Pipes.Aeson
Библиотека Pipes.Aeson предоставляет следующую функцию: decode :: (Monad m, ToJSON a) => Parser ByteString m (Either DecodingError a) Если я использую evalStateT с этим синтаксическим анализатором и дескриптором файла в качестве аргумента,...
936 просмотров
schedule 03.11.2023

как мне заставить yesod-persistent распознавать тип моего проанализированного массива сущностей aeson?
У меня есть обработчик yesod, который может принимать json с массивом объектов. Я хотел бы вставить все объекты в базу данных. newtype NodeList = NodeList [Node] instance FromJSON NodeList where parseJSON (Object o) = NodeList <$> o .:...
263 просмотров
schedule 19.10.2022

Aeson не декодирует строки с символами Юникода
Я пытаюсь использовать Data.Aeson ( https://hackage.haskell.org/package/aeson-0.6.1.0/docs/Data-Aeson.html ) для декодирования некоторых строк JSON, однако не удается проанализировать строки, содержащие нестандартные символы. Например, файл:...
1068 просмотров
schedule 12.07.2022

можно ли анализировать и использовать результаты парсера aeson из потока в постоянном пространстве?
Обратите внимание, что fromJson возвращает Результат a , который может быть Строка ошибки или Успех a . Если я использую fromJson в потоке (например, ответ от http-потоков с использованием выражения parseFromStream (fromJSON <$>...
152 просмотров
schedule 30.04.2023

Извлечь вложенное свойство внутри объекта Aeson
Как я могу получить вложенное свойство, используя Data.Aeson ? Например, при декодировании произвольной строки JSON с использованием Value следующим образом: decode "{\"foo\":{\"bar0\":\"foobar0\", \"bar1\":\"foobar1\"}}"...
561 просмотров
schedule 10.09.2022

Aeson: анализ динамических ключей как поля типа
Допустим, есть JSON, например: { "bob_id" : { "name": "bob", "age" : 20 }, "jack_id" : { "name": "jack", "age" : 25 } } Можно ли разобрать его на [Person] с Person определенным, как показано ниже? data Person =...
704 просмотров
schedule 04.07.2023

Haskell Aeson для работы с отсутствующими данными
У меня есть (действительный) массив с кодировкой json, в котором отсутствуют или искажены данные. Я хочу, чтобы Эсон превратил это в Maybe [Maybe Point] и получил Nothing , где элемент массива не был допустимым Point . import Data.Aeson...
531 просмотров
schedule 13.09.2022

Экземпляр FromJSON для нового ключа HashMap
Я создал новый тип UUID в своем приложении для представления Text идентификаторов. {-# LANGUAGE GeneralizedNewtypeDeriving #-} ... newtype UUID = UUID Text deriving (Eq, Generic, FromJSON, ToJSON, FromField, ToField, FromText,...
301 просмотров
schedule 07.01.2023

Не знаете, как присвоить монадическое значение паре Aeson
Рассмотрим следующий код: S.get "/budget/:bid/month/:mnth" $ do mbid <- param "bid" (budget :: Maybe Budget) <- liftIO $ getBudget $ toSqlKey mbid (categories :: [Entity Category]) <- liftIO $ getCategories $...
54 просмотров
schedule 26.06.2022

Автоматическое получение экземпляра для пользовательского типа данных с помощью Aeson/JSON
Если у меня есть собственный тип данных для разбора JSON с помощью Aeson data Response = Response { response :: [Body] } deriving (Show) instance FromJSON Response where parseJSON (Object v) = Response <$> v .: "response"...
1418 просмотров

Haskell — объединение результатов из отдельных линз
Я пытаюсь выполнить что-то вроде следующего: jsonStr = "{\"a\": \"hello\", \"b\": [\"world\", \"everyone\", \"42\"]}" someALens = ... someBLens = ... combinedJson = jsonStr ... someALens ... someBLens получить в результате:...
122 просмотров
schedule 17.05.2022

Получение коллекции значений из JSON ByteString с использованием Lens-Aeson
Скажем, у меня есть JSON ByteString, который выглядит примерно так { messages: [ {...}, {...} ] } Я хотел бы использовать объектив, чтобы получить из него список/вектор сообщений. У меня есть функция toMessage ,...
89 просмотров
schedule 28.03.2022

Декодирование потока JSON, где одни значения нужны раньше других
Допустим, у нас есть такой объект JSON (со строкой байтов, закодированной в base64): TaggedImage = TaggedImage { id :: Text, image :: ByteString } Теперь мы хотим получить image из источника и сохранить его в месте, используя информацию в...
172 просмотров
schedule 02.11.2023

Объект Haskell Aeson JSON внутри массива JSON
Я пытаюсь преобразовать строку JSON в ADT Это мой АТД: data UserList = UserList { userListUsers :: [UserId] } Это мой экземпляр FromJSON для UserList : instance FromJSON UserList where parseJSON (Object o) = UserList...
136 просмотров
schedule 05.05.2023

В конце концов, как вы кодируете из значения, не приводя к научной нотации?
Я проанализировал большое количество json, манипулировал некоторыми значениями и хотел бы записать их обратно. Aeson декодирует числа в научные, но когда он их кодирует, по умолчанию, научный во многих случаях показывает числа в научном...
313 просмотров
schedule 13.08.2022

Параметризованные, но типобезопасные ключи в обработке JSON
Как мне выразить следующую идею в Haskell? Хотя синтаксис полностью составлен, вот чего я пытаюсь достичь: Мое приложение имеет сильно вложенные основные типы данных, причем каждый «уровень» имеет экземпляры FromJson/ToJson. JSON API,...
110 просмотров
schedule 04.06.2023

Как я могу переписать произвольно вложенное поле в структуру JSON, используя линзы Haskell?
Я хотел бы сделать следующий тест: it "can rewrite a field from an object" $ do let _42 = 42 :: Int nested = object [ "foo" .= _42, "baz" .= object [ "bar" .= _42 ] ] ] rewrite "bar" nested...
153 просмотров
schedule 16.03.2023