json좀도와주십시요 포이치문 중첩문돌리는데 잘안됩니다..

json좀도와주십시요 포이치문 중첩문돌리는데 잘안됩니다..

QA

json좀도와주십시요 포이치문 중첩문돌리는데 잘안됩니다..

본문

 

이건 json이구요..

{

"stashes":[

{

"accountName":"Nightlines", 

"items":[{"verified":false,"w":2,"h":4,"ilvl":71,"icon":"http:url주소"

}

]

}

 

이건 php작성문입니다...

<?php

$jsonData=file_get_contents("poe.json");

$json=json_decode($jsonData, true);

$output="";

foreach($json['stashes'] as $stashes)

{

$output.="accountName: ".$stashes['accountName'].".<br>";

foreach($json['stashes'] as $items) 

{

$output.="items : ".$stashes['items'].".<br>";

}

}

echo $output; 

?>

 

이렇게하면 

accountName : Nightlines.
items : Array.
items : Array.
items : Array.
items : Array.
items : Array.
items : Array.

.........

이런식으로 값자체가 데이터를 가져오질못하는데요

제가 문법이 틀린건가요..

"items":[{"verified":false,"w":2,"h":4,"ilvl":71,"icon":"http:url주소" 이부분을 가져오고싶은데 잘안되서그러는데 작은도움이도 좋으니 도움좀주세요  

 

이 질문에 댓글 쓰기 :

답변 7

accountName: Nightlines.
items : verified = 
items : w = 2
items : h = 4
items : ilvl = 71
items : icon = http:url주소 

 

위 결과를 원하시면 아래 코드로 해보세요

 


foreach($json['stashes'] as $stashes)
{
	$output.="accountName: ".$stashes['accountName'].".<br>";
	foreach($stashes['items'] as $items) 
	{
		foreach($items as $k => $v) 
		{
			$output.="items : ".$k." = ".$v."<br>";
		}
	}
}

echo $output; 

foreach($json['stashes'] as $items) 

{

$output.="items : ".$stashes['items'].".<br>";

}

이부분을 수정해야합니다.
foreach($json['items'] as $val) 

{

$output.="items : ".$val['w']."/".$val['h']."<br>";

}

foreach($json['stashes'] as $stashes)
{
$output.="accountName : ".$stashes['accountName'].".<br>";
foreach($json['items'] as $val) 
{
$output.="items : ".$val['w']."/".$val['h']."<br>";
}
}
echo $output;

이렇게하라는말씀이신가요?

출력결과가
accountName 값만나오는데 item값이나오질않아요

이건 json이구요..

{

"stashes":[

{

"accountName":"Nightlines", 

"items":[{"verified":false,"w":2,"h":4,"ilvl":71,"icon":"http:url주소"

}

]

}

 

이건 php작성문입니다...

<?php

$jsonData=file_get_contents("poe.json");

$json=json_decode($jsonData, true);

$output="";

foreach($json['stashes'] as $stashes => $v)

{

if($stashes ==  "accountName"){

$output.="accountName: ".$stashes['accountName'].".<br>"; 

}else{

foreach($v as $key => $val) 

{

$output.="items : ".$key. $val".<br>"; 

}

}

 

}

echo $output; 

?>

foreach ($json['stashes'][0] as $k => $v) {

    if ($k == 'items')

        foreach ($v[0] as $k1 => $v1)

            echo $k1, '=>', $v1, '<br>';

    else 

        echo $k, '=>', $v, '<br>';

}


그렇게하니
// accountName=>Nightlines
lastCharacterName=>BigDixMemes
id=>a9a42a5dbda657f71b077ecd0692acce8d1d29c7dff3437e5ed8708f6cb8838f
stash=>LEVELING UNIQUES
stashType=>PremiumStash
public=>

이렇게뜨는데 왜 아이템은 출력이 안되는걸까요..

 
foreach($json['stashes'] as $stashes)
{
	$output.="accountName: ".$stashes['accountName'].".<br>";
	foreach($stashes['items'] as $items) 
	{
		$output.="items : ".$items['w'].".<br>";
	}
}
echo $output;
  

 

이렇게 해보세요^^

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,529 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT