我正在运行一些rails代码来生成json以供骨干使用。当我将id视为字符串并在骨干中使用它时,toJSON()函数不会返回属性。当我在id上调用to_i时,toJSON()正常工作。 (但这打破了我的应用程序,因为“012345”与12345不同。
我的骨干观点:
serialize: ->
console.log @model.toJSON()
info: @model.toJSON().info
不工作的json回复:
{"id":"123456","info":[{"label":"Hire Date","text":"06-NOV-00"},{"label":"User ID","text":"YADDA"},{"label":"Employee Number","text":"123456"}] }
非工作到JSON结果:
data_partition: DataPartition
id: "123456"
__proto__: Object
工作json:
{"id":123456,"info":[{"label":"Hire Date","text":"06-NOV-00"},{"label":"User ID","text":"YADDA"},{"label":"Employee Number","text":123456}] }
工作到JSON():
data_partition: DataPartition
id: 123456
info: Array[3]
__proto__: Object
但是当我砍掉领先的0时,这会打破我的rails应用程序。
答案 0 :(得分:0)
运行此代码我没有发现任何问题:
var responseJSON_1 = {"id":"123456","info":[{"label":"Hire Date","text":"06-NOV-00"},{"label":"User ID","text":"YADDA"},{"label":"Employee Number","text":"123456"}] };
var responseJSON_2 = {"id":123456,"info":[{"label":"Hire Date","text":"06-NOV-00"},{"label":"User ID","text":"YADDA"},{"label":"Employee Number","text":"123456"}] };
var MyModel = Backbone.Model.extend({});
var myModel_1 = new MyModel( responseJSON_1 );
var myModel_2 = new MyModel( responseJSON_2 );
console.log( myModel_1.toJSON() );
console.log( myModel_2.toJSON() );
您确定自己的回复中没有更改的内容超过id
格式吗?