我正在尝试在我的数据库(mongoDB)中缓存Google Maps地理编码结果。
这样用户就无法达到每日2500个地理编码配额。
我想要做的是,当地理编码响应正常时,
通过将这些响应对象和状态对象发送到我的数据库来将其缓存到我的数据库
就像通过AJAX将这两个对象发送到PHP一样。
并检索存储的数据,并将其用作Google Maps Geocoding的数据。
但我遇到的问题是PHP无法识别这些对象而无法将它们放入
MongoDB的。
我试图通过
接受这两个对象$response = json_decode((object) $_POST['response']);
$status = json_decode((object) $_POST['status']);
但是那两个变成“无效”根本没有帮助。
我应该创建一个新的JSON,它包含要通过AJAX发送的所有字符串和数字吗?
或者有没有办法让PHP使用JavaScript Object识别JSON,以便我可以将它放在MongoDB中?
编辑:我想在尝试将这些对象发布到php时我也面临this problem答案 0 :(得分:0)
使用JSON2解决了我的问题。
我只是发送
$.post(url, { response:JSON.stringify(response), status:JSON.stringify(response) });
让php首先将这些对象识别为字符串然后
json_decode能够将这些JSON字符串转换为PHP中的数组。