나는 데이터가 있습니다.FromJSON/ToJSON 수동
나는 MyData
그들이 실제 JSON 개체에 비해 약간의 차이라고하고 있기 때문에 아직 그런 FromJSON
및 ToJSON
또는 뭔가를 할 수있는 동안, 1 개 또는 2 필드를 수동으로 구문 분석합니다. 가능한가? 아니면이 경우 모든 필드를 수동으로 구문 분석하고 FromJSON
/ToJSON
을 사용하지 않아야합니까?
나는 데이터가 있습니다.FromJSON/ToJSON 수동
나는 MyData
그들이 실제 JSON 개체에 비해 약간의 차이라고하고 있기 때문에 아직 그런 FromJSON
및 ToJSON
또는 뭔가를 할 수있는 동안, 1 개 또는 2 필드를 수동으로 구문 분석합니다. 가능한가? 아니면이 경우 모든 필드를 수동으로 구문 분석하고 FromJSON
/ToJSON
을 사용하지 않아야합니까?
템플릿 Haskell deriving abilities of aeson
을 살펴 보겠습니다. 필드의 이름을 바꿀 수있는 옵션이 있습니다. , 나는 그런 내 ToJSON
및 FromJSON
인스턴스가
{-# LANGUAGE TemplateHaskell #-}
import Data.Aeson.TH
data MyData = MyData { address :: String
, streetNumber :: Integer
, isApartment :: Bool
, color :: String
}
$(deriveJSON defaultOptions{
constructorTagModifier = \f -> if f == "color" then "colour" else f
} ''MyData)
다음을 추가하는 대신 Generic
도출의, 그리고
data MyData = MyData { address :: String
, streetNumber :: Integer
, isApartment :: Bool
, color :: String
}
예를 들어, 나는 아래의 선언에 colour
에 color
필드의 이름을 변경하고 싶은 말은 적절하게 명명 된 필드.
관련 항목 : [JSON을 구문 분석하여 예약어가 포함 된 필드 이름] (http://stackoverflow.com/questions/18410686/parse-json-with-fieldnames-that-contain-reserved-keywords) – duplode