#json #haskell
#json #haskell
Вопрос:
У меня есть следующий код:
case (HashMap.lookup "key123" jsnObj) of
Just c ->
case c of
Array d -> print d
и результат:
fromList [String "123.00000",String "0.456789"]
Я не могу понять, как я могу извлечь из него второе значение. Ваши предложения?
Ответ №1:
Вам необходимо Data.Vector
импортировать, а затем вы можете просто использовать функцию индексации !
на Vector
d
:
case HashMap.lookup "key123" jsnObj of
Just c -> case c of
Array d -> print $ d ! 1
Комментарии:
1. это работает. Интересно, есть ли другой способ (возможно, на более низком уровне) сделать это, возможно, с помощью сопоставления с образцом?
2. Насколько я знаю, векторный тип не экспортирует свои конструкторы, поэтому вы не сможете сопоставить его с шаблоном.