2012-02-17 2 views
0

에 키를 추가합니다문제 - 그것은 내가이 JSON 문자열을 원래 JSON

{ 
    "product": [ 
     { 
      "id": "1", 
      "title": "producta", 
      "size": "50", 
      "weight": "1000", 
      "price": "30", 
      "quantity": "100", 
      "cartID": "1" 
     }, 
     { 
      "id": "1", 
      "title": "producta", 
      "size": "50", 
      "weight": "1000", 
      "price": "30", 
      "quantity": "100", 
      "cartID": "2" 
     } 
    ] 
} 

나는 PHP 함수를 ($ true로 제품) json_decode, 그리고 난 다시 인코딩을 사용하는 경우 그 로 json_encode ($ 제품) 이용한 문자열이된다 : 복호화 후

{ 
    "product": { 
     "1": { 
      "id": "2", 
      "title": "producta", 
      "size": "50", 
      "weight": "1000", 
      "price": "30", 
      "quantity": "100", 
      "cartID": "2" 
     }, 
     "2": { 
      "id": "1", 
      "title": "producta", 
      "size": "50", 
      "weight": "1000", 
      "price": "30", 
      "quantity": "100", 
      "cartID": "3" 
     } 
    } 
} 

및 재 인코딩하여도 모든 "제품"

열쇠 추가

이 문제를 해결할 방법이 있습니까?

+0

거룩한 맹목적인 딱지 배트맨! 그건 정말 나쁘다! –

+0

:/원래 포맷 된 방식에 실수가 있습니까? – TaylorMac

+0

@TaylorMac : 아니요. PHP를 증오하는 새로운 방법 일뿐입니다. –

답변

2

는 의견이 너무 못생긴 것 때문에 여기를 게시,하지만 내가 echo json_encode(json_decode('...your json...', true));을 수행 한 후 PHP 5.3.6에서 무엇을 얻을 수 있습니다 :

{"product": [ 
    {"id":"1","title":"producta","size":"50","weight":"1000","price":"30","quantity":"100","cartID":"1"}, 
    {"id":"1","title":"producta","size":"50","weight":"1000","price":"30","quantity":"100","cartID":"2"} 
]} 

참고 여분의 키의 부족. 데코 레이팅 된 배열을 다시 인코딩하기 전에 조작을하고 있습니까?

+0

나는 그것이 당신을 위해 일해서 기쁘다. 나는 어떤 조작도하지 않고있다. PHP 버전 일 수도있다 :/ – TaylorMac

+0

array_keys를 내 array_search 키 값으로 스 와이프하고 결과 json_encoded 배열로 0, 1 등 키 값을 가져 오는 것과 같은 문제가 생긴다. 어떤 제안 pls? 내 질문 링크 : http://stackoverflow.com/questions/24228468/php-array-search-appends-keys-with-json-encode-function-parsing-issue –

0

아마도 mysqli_fetch_assoc 대신 mysqli_fetch_array를 사용하고있을 것입니다. 의미 u는 연관 배열 대신 키레이레이를 디코딩합니다.