Mongodb从地理空间查询php中检索正确的json

时间:2015-04-07 13:29:05

标签: php android json mongodb jsonlint

我要从此代码中检索正确的JSON。

$query = array( 'loc' => array('$geoWithin' => array('$centerSphere' => array(array($x,$y), 35 / 6371) )));
    $cursor = $collection->find($query);

    // How many results found
    $num_docs = $cursor->count();

    if( $num_docs > 0 )
        {
          foreach($cursor as $doc['punti'])
               echo json_encode($doc);
            }
        }
    else
    {
        echo "NO LOCATION \n";
    }

如果我尝试验证http://jsonlint.com/中的结果,则会显示错误。

我发布查询结果:

{
    "punti": {
        "_id": {
            "$id": "551fb585ecba12c819000032"
        },
        "nome": "Google",
        "loc": [
            -122.083983,
            37.422969
        ],
        "icona": 1,
        "istituzione_id": {
            "$id": "551fb556ecba12c819000031"
        }
    }
}{
    "punti": {
        "_id": {
            "$id": "5520fe2becba12c003000029"
        },
        "nome": "Oracle",
        "loc": [
            -122.262168,
            37.531595
        ],
        "icona": 1,
        "istituzione_id": {
            "$id": "551fb556ecba12c819000031"
        }
    }
}

JSONLint中的错误是关于:

Parse error on line 16:
...1"        }    }}{    "punti": {   
--------------------^
Expecting 'EOF', '}', ',', ']'

我尝试了不同的方法,没有达成任何解决方案。可以有人帮助我吗?

1 个答案:

答案 0 :(得分:0)

通过链接验证和共享数据的工具之一,请使用此工具进行验证,如果它无效,请在此处分享或与您的朋友分享以获取帮助http://codebeautify.org/jsonvalidate