programing

JSON 옥텟이란 무엇이며, 2개가 필요한 이유는 무엇입니까?

shortcode 2023. 2. 23. 23:18
반응형

JSON 옥텟이란 무엇이며, 2개가 필요한 이유는 무엇입니까?

변수에 저장하는 수신 데이터가 있습니다.messages:

connection = ContextIO::Connection.new(key, secret)
messages = connection.all_messages(:account => account, :limit => 100, :since => (Time.now - 3000.day ))

변수messages는 JSON으로 포맷되어 있습니다.그 후 다음을 실행합니다.

 foo = JSON.parse(messages)['data']

대부분의 경우 이것은 효과가 있습니다.가끔 다음 오류 메시지가 나타납니다.

  A JSON text must at least contain two octets!  

이 에러 메세지는, 다음의 회선을 참조합니다.JSON.parse(messages)['data']

  1. 옥텟이란?

  2. JSON 텍스트에 적어도2개의 옥텟이 포함되어 있어야 하는 이유는 무엇입니까?

  3. 매번 코드가 깨지지 않도록 하려면 어떻게 해야 합니까?messages2개의 옥텟이 없습니까?

감사합니다!

  1. 옥텟은 8비트의 그룹입니다.현재 옥텟은 바이트와 동의어이지만, 바이트는 역사적으로 비트의 "네이티브" 그룹을 의미하며, 이는 4, 6, 7, 또는 8비트를 의미할 수 있습니다.
  2. JSON 문서의 최상위 구조는 배열 또는 객체이며 가장 짧은 표현은 다음과 같기 때문에 JSON 텍스트는 적어도2개의 옥텟을 포함해야 합니다.[]그리고.{},각각 다음과 같다.
  3. 값을 확인합니다.messages. 비어 있거나 설정되지 않았거나 한 자리 숫자로 구성되어 있을 수 있습니다(예:4는 유효한 JSON은 아니지만 많은 JSON 구현에서 허용됩니다.

다른 답변에는 전적으로 동의하지만, 제 경우엔 유효한 답변이 있었습니다.JSONstring을 실행하려고 할 때 "JSON text must do octets" (JSON 텍스트는 적어도2개의 옥텟을 포함해야 합니다)라는 에러 메시지를 수신하고 있었습니다.JSON.parse.

문제는 콘텐츠 유형을 지정하지 않았다는 것입니다.application/json그걸 덧붙이자면JSON.parse에러 없이 동작했다.

이게 다른 사람에게 도움이 되길 바라.

언급URL : https://stackoverflow.com/questions/7200554/what-is-a-json-octet-and-why-are-two-required

반응형