Php 在JSONArray中循环,但一无所获
首先,我是Php 在JSONArray中循环,但一无所获,php,Php,首先,我是PHP的新手,请原谅我 我想获取一个JSON响应并将其拆分。这将来自一个$\u POST变量,但是我试图测试硬编码变量中的响应。问题是我甚至不能把它打印出来,以确保我能正确地开始这项工作 $json = '({ "array": [ "Store #: 00608", "Phone #: null", "Address: 3014 N. SCOTTSDALE RD.", "City: SCOTTSDALE", "Zip: 85251",
PHP的新手,请原谅我
我想获取一个JSON
响应并将其拆分。这将来自一个$\u POST
变量,但是我试图测试硬编码变量中的响应。问题是我甚至不能把它打印出来,以确保我能正确地开始这项工作
$json =
'({
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
})';
$data = json_decode($json,true);
$pieces = explode(":", $data);
for ($i = 0; $i < count($data['array']); $i++) {
echo $pieces[$i];
}
$json=
'({
“数组”:
[
“商店#:00608”,
“电话#:空”,
“地址:斯科茨代尔北路3014号”,
“城市:斯科茨代尔”,
“邮编:85251”,
“州:AZ”,
“高度:6`4”,
“体重:230”,
“种族:白人”,
“年龄:23岁”,
“眼睛颜色:蓝色”,
“最喜欢的食物:泰国”,
“评论:棒极了”
]
})';
$data=json_decode($json,true);
$pieces=分解(“:”,$data);
对于($i=0;$i
当我在浏览器中启动它时,我会看到一个空白屏幕,没有错误。最终目标是将它们存储到PHP
数组中,如'store#'、'00608'
等
不管怎样,我做错了什么?试试这个JSON
$json =
'{
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
}';
注意我拿出了你的()试试这个JSON
$json =
'{
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
}';
注意我拿出了你的()我想这正是你想要的
$json =
'{
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
}';
$data = json_decode($json,true);
foreach($data['array'] as $piece) {
$array = explode(': ', $piece);
echo 'Key: '.$array[0].'<br />';
echo 'Value: '.$array[1].'<br />';
echo '<br />';
}
我想这正是你想要的
$json =
'{
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
}';
$data = json_decode($json,true);
foreach($data['array'] as $piece) {
$array = explode(': ', $piece);
echo 'Key: '.$array[0].'<br />';
echo 'Value: '.$array[1].'<br />';
echo '<br />';
}
JSON无效,因为JSON字符串周围有括号。删除这些,它将正确解析。您的JSON无效,因为JSON字符串周围有括号。删除这些内容,它将正确解析。$data=json\u decode($json,true);echo json_last_error();//打印出上一个json操作(encode/decode)的错误代码(如果有),您是代码4的幸运赢家-语法错误:)PHP可能反对使用数组(这是一个关键字)。先换一下。数据必须采用这种格式吗?如果您可以使用“Store”:“00608”
您可以直接将数据提取为$json->myArray['Store']
@MikeW-well,这与我前面的问题有关。如果你有办法让我做到这一点,我就是ears@i_me_mine你已经接受了我最好的答案。这比以后拆分字符串更安全。如果有人在回复中输入:
,您的服务器端爆炸将失败。在验证时,您可以创建一个JSON对象。$data=JSON\u decode($JSON,true);echo json_last_error();//打印出上一个json操作(encode/decode)的错误代码(如果有),您是代码4的幸运赢家-语法错误:)PHP可能反对使用数组(这是一个关键字)。先换一下。数据必须采用这种格式吗?如果您可以使用“Store”:“00608”
您可以直接将数据提取为$json->myArray['Store']
@MikeW-well,这与我前面的问题有关。如果你有办法让我做到这一点,我就是ears@i_me_mine你已经接受了我最好的答案。这比以后拆分字符串更安全。如果有人在回复中输入:
,您的服务器端爆炸将失败。在验证时,您可以创建一个JSON对象。恭喜您幸运地获得了“正确答案”=谢谢,伙计,我很感激。恭喜你幸运地获得了“正确答案”=谢谢,伙计,我很感激。