홈>
Aeson-JSON 다음 데이터를 사용한 해킹 :
data Car = Car
{ carPosition :: Position,
carColor :: Color,
carDirection :: Direction }
deriving (Show, Generic)
Car
에 대한 인스턴스를 생성했습니다
데이터 유형
Postion
에 대해 동일한 작업을 수행했습니다.
Direction
:
instance FromJSON Position
instance FromJSON Direction
instance FromJSON Car
그러나 이제 문제가 시작되면
Color
는
Gloss
에서 제공합니다.
해킹과 그 가치는 예를 들어 빨간색 으로 작성되었습니다.
Color
데이터 만 알고있다 :
deriving Show
deriving Generic
를 추가 할 가능성이 없습니다.
. 다음 코드를 시도했습니다 :
instance FromJSON Color where
parseJSON (Object v) = Color <$>
v .: "carColor"
Picture -> Picture
유형과 일치하지 않는 것에 대해 불평합니다.
우리는
Color
와 같은 것을 기대했습니다.
.
질문 : 데이터
Color
를 어떻게 사용할 수 있습니까?
Gloss
에서
{
"carPostion": { "x": 0, "y": 10},
"carColor": "Red",
"carDirection": "Up"
}
carColor
없이 JSON 객체를 읽으려고했습니다.
(테스트 목적으로 만) 작동합니다.
업데이트 : 다음 질문처럼 보입니다 : Haskell Data.Decimal as Asonson 우리의 경우를 제외하고 우리는
Color
를 사용하고 싶습니다.
Data.Decimal
와 같이 주어진 곳에서
문제를 일으키는 사람입니다.
- 답변 # 1
관련 자료
- Haskell List of Maybe를 처리 할 수있는 인스턴스를 추가하는 방법
- beginner - 간단한 Haskell 파서
- haskell - "문자 그대로 '00'에서 발생하는 (fractional (아마 float)) 인스턴스가 없습니다"
- 제약 조건에 따른 Haskell 인스턴스 디스패치
- parsing - 간단한 Haskell 파서에 모나드 사용
- parsing - 단어 목록에서 Haskell 파서를 어떻게 만들 수 있습니까?
- parsing - 하스켈 - 파서를 다른 것과 파문하다
- Haskell에서 유형 클래스의 인스턴스로 Int를 정의 할 때의 문제점
관련 질문
- Haskell -목록을 인덱스가 있는 객체 목록으로 바꾸기
- list : Haskell에서 [](목록 생성자)란 무엇입니까?
- Haskell -'main'을 독특하게 만드는 것은 무엇입니까?
- class : Haskell: 유형 변수가 클래스 인스턴스에 대해 모호합니다.
- 이 Haskell 유형은 어떻게 되나요?
- 하스켈에서 json 파싱하기
- javascript : Typescript에서 문자열이 유효한 JSON인지 확인
- haskell : IO() 재귀 유형 일치 문제
- json : Swift를 사용하여 한 함수에서 다른 유형의 구조체를 반환하는 방법은 무엇입니까?
- haskell : ghc가 ^2에 "'정수' 유형에 대한 제약 조건을 기본값으로 설정해야 한다고 경고하는 이유는 무엇입니까?
기본 문자열을 구문 분석하는 것만으로도 간단합니다.
이것으로 간단한 문자열을
Color
중 하나로 바꿀 수 있습니다 사물. 일단 당신이FromJSON
를 가지고Color
에 대한 인스턴스 , 당신은 단지instance FromJSON Car
를 사용할 수 있습니다 .