PHP json_encoded阵列失效mongoimport
问题描述:
我有转储的使用json_decode()人PHP json_encoded阵列失效mongoimport
foreach ($personArray as $person) {
$currentPosition = $person->loadCurrentPosition();
$one[ FIELD_NAME ] = $person->getName();
$one[ FIELD_ID ] = $person->getId();
$one[ FIELD_ORGANIZATION_ID ] = $currentPosition->organization->getId();
$one[ FIELD_ORGANIZATION_NAME ] = $currentPosition->organization->getName();
$result[] = $one;
}
$jsonResult = json_encode($result );
我结果放入一个名为 'people.json' 列表的PHP脚本:
[
{
"name": "Bobby Brown",
"id": 32632,
"organizationid": 40492,
"organizationname": "Exinda Networks"
},
{
"name": "Billy Bob",
"id": 32633,
"organizationid": 29824,
"organizationname": "Desire2Learn"
}
]
我用mongoimport(MongoDB的v3.0.7):
mongoimport --db test --collection people --drop --file people.json
我碰到下面的错误和0文档导入:
2015-11-07T17:02:35.461-0500 Failed: error unmarshaling bytes on document #0: JSON decoder out of sync - data changing underfoot?
予删除前面的方括号“[”和尾随“]”的文件中,并mongoimport再次尝试:
2015-11-07T17:13:37.575-0500 Failed: error processing document #2: invalid character ',' looking for beginning of value
予删除该文件在两个JSON对象之间的“”和进口工程:
2015-11-07T17:16:12.162-0500 imported 2 documents
是json_encode()
错误地编码?
json_encode()
选项中的一个会导致mongoimport喜欢的格式吗?
使用jsonlint.com检查您的JSON的有效性。 – aldrin27
感谢@ aldrin27为PHP json_encode()文件jsonlint.com说“有效的JSON”。对于修改后的mongoimport阅读OK jsonlint.com说“解析错误”,所以它显示它是mongoimport –