파이선에서 web api를 통해 받은 hex format 데이터를 코드를 통해 json으로 변환하고 싶습니다.

조회수 680회

블록체인, 비트코인을 공부중인 학생입니다. 저는 아래와 같은 web api를 통해 bitcoin block의 rawblock data를 얻었습니다.

url="https://blockchain.info/rawblock/00000000000000000002447735c7723ee9188322c0938e6587866a4458b9135f?format=hex"

resp = requests.get(url=url)

data = resp.text

url끝에서 ?format을 json으로 바꾼다면 json 정보를 얻을 수 있지만

위와같이 hex data를 받아 python code를 통해 hex data를 json format으로 변경하고 싶습니다.

변경할수 있는 코드가 있을까요?

답변 부탁드립니다. 감사합니다.

  • json 포맷 구조대로 만들면 됩니다. json 이 무엇인지부터 공부를 해보세요. json 이라고 해봐야 자바스크립트에서나 객체지 python 에선 그냥 문자열입니다. 정영훈 2020.6.22 23:15
  • json 포맷 구조는 알고있습니다만, 저는 encode or decode 과정을 통해 저 hex 값을 다시 json 포맷으로 변환이 가능한지, 그렇다면 해당 방법은 무었인지를 물어보는 것입니다. 그리고 python에선 dict 형태로 받아지지 않나요..? 박승욱 2020.6.23 15:00

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    format=hex 로 받은 내용은 어떤 바이너리를 헥사스트링으로 전달한 것 같습니다. 일반적으로 헥사스트링을 바이너리로 바꾸는 방법은

    from binascii
    b = binascii.unhexlify('313233')
    

    같은 방법으로 가능합니다.

    단, 질문에서 예로 든 url 에서 가져오는 문자열은 json 으로 쉽게 바꿀 수 있는 문자열이 아니라, 다른 특별한 내부구조가 있는 것 같습니다. 그 구조에 대해서 모르면 json 으로 바꿀 수 없습니다.

    꼭 json 이 필요하다면, 그냥 json 응답을 받아서 쓰는 게 맞아 보여요.

    • 답변 감사합니다! 박승욱 2020.6.23 15:03

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)