>

이 본문 요청을 처리해야합니다 :

{
  "event" : "message",
  "token" : "957fa13859e06b22b96060ab97df934e5aec0ca02c432",
  "uid" : "",
  "contact[uid]" : "",
  "contact[name]" : "",
  "contact[type]": "user",
  "message[dtm]": "1530022083",
  "message[uid]": "87FA901709E3C05CCB0270B6B3C893AF",
  "message[cuid]": "",
  "message[dir]" : "i",
  "message[type]" : "chat",
  "message[body][text]" : "",
  "message[ack]": "3" 
}

어떻게 []로 속성을 읽을 수 있습니까? json objetc로 변환되면 [] 속성은 다음과 같은 문자열입니다.

{ event: 'message',
  token: '957fa13859e06b22b96060ab97df934e5aec0ca02c432',
  uid: '',
  'contact[uid]': '',
  'contact[name]': '',
  'contact[type]': 'user',
  'message[dtm]': '1530022083',
  'message[uid]': '87FA901709E3C05CCB0270B6B3C893AF',
  'message[cuid]': '',
  'message[dir]': 'i',
  'message[type]': 'chat',
  'message[body][text]': '',
  'message[ack]': '3' }

어떻게 아이디어를 얻을 수 있습니까?

친절한 관계


  • 답변 # 1

    여기서 무슨 일이 있었는지 알겠습니다

    쿼리 문자열을 JSON으로 변환하는 함수를 사용했지만 사용한 함수는 플랫 쿼리 문자열 (중첩 변수 없음)에서만 작동합니다.

    Node.JS를 사용하고 있으므로 NPM Package qs 를 사용해보십시오  

    다음과 같은 쿼리 문자열이 필요합니다 :

    event=message&token=957fa13859e06b22b96060ab97df934e5aec0ca02c432&uid=&contact[uid]=&contact[name]=&contact[type]=user&message[dtm]=1530022083&message[uid]=87FA901709E3C05CCB0270B6B3C893AF&message[cuid]=&message[dir]=i&message[type]=chat&message[body][text]=&message[ack]=3

    다음과 같이 JSON 객체를 만듭니다 :

    {
        event: 'message',
        token: '957fa13859e06b22b96060ab97df934e5aec0ca02c432',
        uid: '',
        contact: { uid: '', name: '', type: 'user' },
        message: {
            dtm: '1530022083',
            uid: '87FA901709E3C05CCB0270B6B3C893AF',
            cuid: '',
            dir: 'i',
            type: 'chat',
            body: {
                text: ''
            },
            ack: '3'
        }
    }
    
    

    다음 코드만으로 :

    const qs = require("qs");
    let querystring = "event=message&token=957fa13859e06b22b96060ab97df934e5aec0ca02c432&uid=&contact[uid]=&contact[name]=&contact[type]=user&message[dtm]=1530022083&message[uid]=87FA901709E3C05CCB0270B6B3C893AF&message[cuid]=&message[dir]=i&message[type]=chat&message[body][text]=&message[ack]=3";
    let JSONquery = qs.parse(querystring);
    console.log(JSONquery);
    
    

    도움이됩니다.

  • 이전 java - JPA에서 최대 열린 커서가 예외를 초과했습니다 (createNativeQuery를 사용하여 레코드 삭제)
  • 다음 javascript - 푸시 배열에서 숫자를 얻는 방법