2013-12-17 4 views
-3

추가 I가 내 MySQL의 테이블 행에 다음 코드 "연락처"로 json_encode는 테이블 이름

{ 
    "contactList": 
    [ 
     { 
      "userId":"1062", 
      "name":"Test User 1" 
     }, 
     { 
      "userId":"1063", 
      "name":"Test User 2" 
     } 
    ] 
} 

나는 콘텐츠로 json_encode이 결과에 테이블의 이름이 추가 인코딩 할 때 :

{"contacts":"{"contactList": 
[{"userId":"1062","name":"Test User 1"},{"userId":"1063","name":"Test User 2"}] 
    }"} 

아무도 내게이 실수를 피하는 방법을 알려줄 수 있습니까? 이미 JSON 인코딩과 출력을 얻을 수

while($row=mysql_fetch_array($last)) 
$jsonEncode = json_encode($row['contacts']); 
+0

정확히 인코딩 할 때? 이것이 JSON에서 나오면 json_encode에 공급하는 배열에 있다는 것을 의미합니다. – JAL

+1

열에 JSON이 이미 있으면 json_encoding을 다시 쓰는 이유는 무엇입니까? preg_replace도 유효하지 않습니다. 그리고 여러 개의 연결된 JSON blob이 유효하지 않으므로 어쨌든 반복해서 사용하면 안됩니다. – mario

+0

그래서 $ 행을 인쇄해야합니까? 왜냐하면 내가 그렇게했을 때 출력이나 "배열"을 얻지 못했습니다. 미안하지만이 것이 정말 기본적인 것임을 알고 있습니다. – user3109750

답변

0

변경 while($row=mysql_fetch_assoc($last)) 내가 그 저장된 데이터를보고 있어요 : 나는 여기

내 PHP 코드 어떤 대답을 :(발견을 couldnt 당신은 단지 디코딩 할 필요가있다. 라인 아래

변경을

$jsonEncode = json_decode($row['contacts']); 
+0

안녕하세요! 결과 : { "0": "{"contactList ": [{"userId ":"1062 ","name ": ... – user3109750

+0

오! 내 대답을 업데이트했습니다 –

+0

Jeyyy :) 작동합니다! 감사합니다 많이 !!! 나는 그 방법으로 json에 액세스 할 수 있다는 것을 모른다. – user3109750

0

에 대한

<?php 
... 
    $last = mysql_query("SELECT contacts FROM users WHERE userId = 1000"); 
    while($row=mysql_fetch_assoc($last)) 
     $jsonEncode = (json_encode($row)); 
    $output = preg_replace('/\\\"/',"\"", $jsonEncode); 
    print($output); 
    mysql_close(); 
?> 
+0

안녕하세요, 빠른 응답 주셔서 감사합니다!하지만 내가 다음과 같은 오류가 발생합니다 : 경고 : json_decode() 매개 변수 1 기대하고있다. 문자열, 배열 주어진 ... – user3109750

+0

나는 내 대답을 업데이 트했습니다. – kwelsan