【发布时间】:2011-03-28 11:16:29
【问题描述】:
这有点奇怪。我有一个 CSV,我正在上传并传递给 PHP 脚本,该脚本将其解析为数组,将其编码为 JSON 字符串并将其发送回以由我的 Javascript 进一步处理。但是,我很难以易于解析的格式获取响应。也许可以解析,我只是不确定如何访问其中的数据。
用于处理和解析 CSV 的 PHP 脚本:
<?php
$file = $_FILES['file'];
$tmp = $file['tmp_name'];
$row = 1;
$json = array();
if(($handle = fopen($tmp, 'r')) !== false){
while(($data = fgetcsv($handle, 10000, '\n')) !== false){
$num = count($data);
$row++;
for($i = 0; $i < $num; $i++){
$values = split(',', $data[$i]);
$value = array(
sName => $values[0],
sNick => $values[1],
sEmail => $values[2],
sSSOID => $values[3],
sPwd => $values[4],
sConfPwd => $values[5],
sDescr => $values[6]
);
array_push($json, $value);
}
print_r(json_encode($json));
}
fclose($handle);
}
?>
输出最终成为一个迭代响应,其中第一个数组包含 CSV 的第一行,第二个数组包含第一行和第二行(第三个数组包含第一、第二和第三等) .最后一个数组是我想要的响应。它是一个格式良好的 JSON 字符串;我只是不确定如何仅获得该响应。
示例响应:
[{"sName":"John Doe","sNick":"John","sEmail":"jdoe@email.com","sSSOID":"jdoe","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes cats"}][{"sName":"John Doe","sNick":"John","sEmail":"jdoe@email.com","sSSOID":"jdoe","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes cats"},{"sName":"Bill Frank","sNick":"Bill","sEmail":"bfrank@email.com","sSSOID":"bfrank","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes dogs"}][{"sName":"John Doe","sNick":"John","sEmail":"jdoe@email.com","sSSOID":"jdoe","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes cats"},{"sName":"Bill Frank","sNick":"Bill","sEmail":"bfrank@gmail.com","sSSOID":"bfrank","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes dogs"},{"sName":"Sam Smith","sNick":"Sam","sEmail":"ssmith@email.com","sSSOID":"ssmith","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes music"}]
我需要的唯一响应是最终数组:
[{"sName":"John Doe","sNick":"John","sEmail":"jdoe@email.com","sSSOID":"jdoe","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes cats"},{"sName":"Bill Frank","sNick":"Bill","sEmail":"bfrank@email.com","sSSOID":"bfrank","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes dogs"},{"sName":"Sam Smith","sNick":"Sam","sEmail":"ssmith@email.com","sSSOID":"ssmith","sPwd":"Admin1234","sConfPwd":"Admin1234","sDescr":"Likes music"}]
【问题讨论】: