JSON의 특정 필드에 액세스 할 수 없습니다.

론스타

Laravel + socket.io에 프로젝트가 있습니다. 방송중인 json의 특정 필드에 액세스해야합니다. 다음은 코드입니다.

socket.js

redis.on('message', function(channel, message) {
    message = JSON.parse(message);
    io.emit(channel + ':' + message.event,message.data); 
});

내 클라이언트 소켓에는 이것이 있습니다.

socket.on("comment-channel:App\\Events\\CommentEvent", function(message){
        alert(message.data);
 });

그러면 성공적으로 경고합니다.

[{
    "id": 136,
    "content": "dffsadf",
    "user_id": "1",
    "task_id": "33",
    "created_at": "2016-03-29 10:47:19",
    "user": {
        "id": 1,
        "first_name": "Hulk",
        "last_name": "Hogan",
        "username": "",
        "email": " [email protected]",
        "company_id": "1",
        "role_id": "0",
        "photo": "\/assets\/apps\/img\/photos\/lvrv5VOGRskwPHvFVakp.jpeg",
        "position": "asdfsadf",
        "phone": "+75843857834",
        "city": "",
        "country": "Singapore",
        "timezone": "",
        "created_at": "2016-03-10 04:16:24",
        "updated_at": "2016-03-10 07:54:12",
        "deleted_at": null
    }
}]

그럼 이거 먹으면

alert(message.data.task_id);

또는

alert(message.data['task_id']);

나는 '정의되지 않음'을 얻는다 ..

task_id에 어떻게 액세스 할 수 있습니까? 감사합니다 !!!!

Rogerio Soares

message.data 배열 인 것 같습니다. alert(message.data[0].task_id);

편집 : 작동하지 않으면 문제가 없습니다 ...

var message = {
	data : [{
			"id" : 136,
			"content" : "dffsadf",
			"user_id" : "1",
			"task_id" : "33",
			"created_at" : "2016-03-29 10:47:19",
			"user" : {
				"id" : 1,
				"first_name" : "Hulk",
				"last_name" : "Hogan",
				"username" : "",
				"email" : " [email protected]",
				"company_id" : "1",
				"role_id" : "0",
				"photo" : "\/assets\/apps\/img\/photos\/lvrv5VOGRskwPHvFVakp.jpeg",
				"position" : "asdfsadf",
				"phone" : "+75843857834",
				"city" : "",
				"country" : "Singapore",
				"timezone" : "",
				"created_at" : "2016-03-10 04:16:24",
				"updated_at" : "2016-03-10 07:54:12",
				"deleted_at" : null
			}
		}
	]
};

alert(message.data[0].task_id);

편집 2 당신 message.data이 문자열로 구문 분석되지 않았습니까? json 객체로 캐스팅하려고

var message = {
	data : '[{\r\n' + 
'			"id" : 136,\r\n' + 
'			"content" : "dffsadf",\r\n' + 
'			"user_id" : "1",\r\n' + 
'			"task_id" : "33",\r\n' + 
'			"created_at" : "2016-03-29 10:47:19",\r\n' + 
'			"user" : {\r\n' + 
'				"id" : 1,\r\n' + 
'				"first_name" : "Hulk",\r\n' + 
'				"last_name" : "Hogan",\r\n' + 
'				"username" : "",\r\n' + 
'				"email" : " [email protected]",\r\n' + 
'				"company_id" : "1",\r\n' + 
'				"role_id" : "0",\r\n' + 
'				"photo" : "\/assets\/apps\/img\/photos\/lvrv5VOGRskwPHvFVakp.jpeg",\r\n' + 
'				"position" : "asdfsadf",\r\n' + 
'				"phone" : "+75843857834",\r\n' + 
'				"city" : "",\r\n' + 
'				"country" : "Singapore",\r\n' + 
'				"timezone" : "",\r\n' + 
'				"created_at" : "2016-03-10 04:16:24",\r\n' + 
'				"updated_at" : "2016-03-10 07:54:12",\r\n' + 
'				"deleted_at" : null\r\n' + 
'			}\r\n' + 
'		}\r\n' + 
'	]'
};

var obj = JSON.parse(message.data);
alert(obj[0].task_id);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ubuntu 16.04 LTS의 특정 사이트에 액세스 할 수 없습니다.

분류에서Dev

Clojure의 Java 필드에 액세스 할 수 없습니다.

분류에서Dev

특정 디렉토리에 액세스 할 수 없습니다

분류에서Dev

배열의 특정 위치에 액세스 할 수 있지만이 배열 내의 특정 개체에는 액세스 할 수 없습니다.

분류에서Dev

워크 플로에서 Youtrack 이슈의 사용자 정의 필드에 액세스 할 수 없습니다.

분류에서Dev

사용자 정의 모델 바인딩은 모든 필드 MVC4에 액세스 할 수 없습니다.

분류에서Dev

다른 컨트롤러의 필드에 액세스 할 수 없습니다.

분류에서Dev

nodejs의 특정 경로를 통해 정적 파일에 액세스 할 수 없습니다.

분류에서Dev

mongoose find () 결과의 세부 정보에 액세스 할 수 없습니다.

분류에서Dev

정적 속성 / 필드 (C #)에 액세스 할 수 없습니다.

분류에서Dev

내 json의 일부에 액세스 할 수 없습니다.

분류에서Dev

유형을 사용하여 Rust 공용체의 특정 필드에 액세스 할 수 있습니까?

분류에서Dev

APTran-Acumatica의 UsrsubcontractNbr 필드에 액세스 할 수 없습니다.

분류에서Dev

내 개체의 특정 열에 액세스 할 수 없음 (RStudio)

분류에서Dev

rvest 및 selectorGadget을 사용하여 html 페이지의 특정 콘텐츠에 액세스 할 수 없습니다.

분류에서Dev

내 node.js mongoose 모델의 특정 값에 액세스 할 수 없습니다 (오브젝트 만 해당)

분류에서Dev

Ubuntu의 특정 웹 사이트 (Facebook, Google, Twitter 등)에 액세스 할 수 없습니다.

분류에서Dev

Ubuntu의 특정 웹 사이트 (Facebook, Google, Twitter 등)에 액세스 할 수 없습니다.

분류에서Dev

사용자 정의 Front Matter 변수에 액세스 할 수 없습니다.

분류에서Dev

함수 내부의 위치 정보에 액세스 할 수 없습니다.

분류에서Dev

하위 노드 값 JSON에 액세스 할 수 없습니다.

분류에서Dev

사운드 설정에 액세스 할 수 없습니다.

분류에서Dev

XML 노드의 @attributes에 액세스 할 수 없습니다.

분류에서Dev

사용자 정의 MessageBodyWriter 내에서 HttpServletRequest에 액세스 할 수 없습니다.

분류에서Dev

Azure 서버의 LAMP 설정에서 phpMyAdmin에 액세스 할 수 없습니다.

분류에서Dev

Linux의 PHP에서 내 Dropbox 계정에 액세스 할 수 없습니다.

분류에서Dev

내 액세스 포인트의 설정 페이지에 액세스 할 수 없습니다.

분류에서Dev

세션 PHP의 값에 액세스 할 수 없습니다.

분류에서Dev

정적 변수에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    Ubuntu 16.04 LTS의 특정 사이트에 액세스 할 수 없습니다.

  2. 2

    Clojure의 Java 필드에 액세스 할 수 없습니다.

  3. 3

    특정 디렉토리에 액세스 할 수 없습니다

  4. 4

    배열의 특정 위치에 액세스 할 수 있지만이 배열 내의 특정 개체에는 액세스 할 수 없습니다.

  5. 5

    워크 플로에서 Youtrack 이슈의 사용자 정의 필드에 액세스 할 수 없습니다.

  6. 6

    사용자 정의 모델 바인딩은 모든 필드 MVC4에 액세스 할 수 없습니다.

  7. 7

    다른 컨트롤러의 필드에 액세스 할 수 없습니다.

  8. 8

    nodejs의 특정 경로를 통해 정적 파일에 액세스 할 수 없습니다.

  9. 9

    mongoose find () 결과의 세부 정보에 액세스 할 수 없습니다.

  10. 10

    정적 속성 / 필드 (C #)에 액세스 할 수 없습니다.

  11. 11

    내 json의 일부에 액세스 할 수 없습니다.

  12. 12

    유형을 사용하여 Rust 공용체의 특정 필드에 액세스 할 수 있습니까?

  13. 13

    APTran-Acumatica의 UsrsubcontractNbr 필드에 액세스 할 수 없습니다.

  14. 14

    내 개체의 특정 열에 액세스 할 수 없음 (RStudio)

  15. 15

    rvest 및 selectorGadget을 사용하여 html 페이지의 특정 콘텐츠에 액세스 할 수 없습니다.

  16. 16

    내 node.js mongoose 모델의 특정 값에 액세스 할 수 없습니다 (오브젝트 만 해당)

  17. 17

    Ubuntu의 특정 웹 사이트 (Facebook, Google, Twitter 등)에 액세스 할 수 없습니다.

  18. 18

    Ubuntu의 특정 웹 사이트 (Facebook, Google, Twitter 등)에 액세스 할 수 없습니다.

  19. 19

    사용자 정의 Front Matter 변수에 액세스 할 수 없습니다.

  20. 20

    함수 내부의 위치 정보에 액세스 할 수 없습니다.

  21. 21

    하위 노드 값 JSON에 액세스 할 수 없습니다.

  22. 22

    사운드 설정에 액세스 할 수 없습니다.

  23. 23

    XML 노드의 @attributes에 액세스 할 수 없습니다.

  24. 24

    사용자 정의 MessageBodyWriter 내에서 HttpServletRequest에 액세스 할 수 없습니다.

  25. 25

    Azure 서버의 LAMP 설정에서 phpMyAdmin에 액세스 할 수 없습니다.

  26. 26

    Linux의 PHP에서 내 Dropbox 계정에 액세스 할 수 없습니다.

  27. 27

    내 액세스 포인트의 설정 페이지에 액세스 할 수 없습니다.

  28. 28

    세션 PHP의 값에 액세스 할 수 없습니다.

  29. 29

    정적 변수에 액세스 할 수 없습니다.

뜨겁다태그

보관