为什么我的 JSON 解析了一些缺少的键值对
Why does my JSON parse with some missing key value pairs?
我有一个 Rails 后端,可以为这样的 JSON 提供服务:(例如是 2.json)
{"id":2,"name":"Magic","location":"Cyberjaya","surprise_type":"Great","instructions":"test","status":"awesome","pricing_level":3,"longitude":"2.90873","latitude":"101.655027","created_at":"2016-02-02T07:19:18.247Z","updated_at":"2016-02-02T12:59:14.403Z"}
以及一个 AngularJS 应用程序.js代码如下所示(仅限相关部分):
.factory('MarkersLoc', function($resource) {
debugger;
return $resource("http://localhost:3000/surprises/:id.json");
})
.factory('Markers', function(MarkersLoc) {
var markers = [];
return {
getMarkers: function(){
return MarkersLoc.query().$promise.then(function(response){
debugger;
markers = response;
console.log("Markers: ", markers);
return markers;
});
}
}
})
我遇到的问题是,即使在调试器的位置,响应也是一个对象数组,这些对象具有 JSON 中的所有属性,除了经度、纬度、created_at和updated_at。
不幸的是,我无法确定在读取和返回时省略这四个键值对的原因。是否有一些东西应该控制我遗漏的正在处理哪个键值对?整个 JSON 不会被解析并转换为对象吗?
缺失值是后端控制器序列化数据的结果。若要查看所有键,请确保在序列化程序中定义了所有属性:
class SurpriseSerializer < ActiveModel::Serializer
attributes :id,
:name,
:location,
:surprise_type,
:instructions,
:status,
:pricing_level,
# Add the missing attributes to the serializer
:longitude,
:latitude,
:created_at,
:updated_at
end
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 如何将新的键/值对元素添加到现有数组
- 返回由键/值对定义的数组
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- d3使用键值对对对多个值的数据进行分组
- JSON对象作为键值对中的键
- 如何将键值对中的数据插入到 HTML 中
- 表达 HTTP 主体成为键:值对中的键
- 为什么我的 JSON 解析了一些缺少的键值对
- 键值对中的常量
- 为什么我的formdata.append没有将键值对发送到服务器
- 创建dictionary,将数组作为键值对中的值:javaScript
- 如何从具有键/值对对象的数组中获取值
- 键值对中的随机变量不被解释为变量
- AngularJS star-rating显示图像等于键值对中的值
- 使用Lodash合并共享键值对上的对象
- 在javascript中排序键/值对集合的最佳实践
- 仅将键:值对附加到我的数组元素一次
- 在Javascript中使用key's的值作为键值对中的键
- 使用jQuery获取JSON中的键/值对中的键名