Вопросы по теме '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 просмотров
schedule
29.03.2022
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