Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS:计算json键的值数_Json_Extjs_Coffeescript - Fatal编程技术网

ExtJS:计算json键的值数

ExtJS:计算json键的值数,json,extjs,coffeescript,Json,Extjs,Coffeescript,我正在使用coffescript编写一个ExtJS MVC风格的应用程序,我只想返回分配给“key2”的值的数量 在这个例子中,我想拿回数字2 然而,在下面的例子中,我得到了“11”。如有任何见解,将不胜感激 // JSON "data" : [{ "key1" : "value", "key2" : ["valu1", "valu2"] ]} //Model Ext.define("Test.model.Values", extend: "Ext.data.Mod

我正在使用coffescript编写一个ExtJS MVC风格的应用程序,我只想返回分配给“key2”的值的数量

在这个例子中,我想拿回数字2

然而,在下面的例子中,我得到了“11”。如有任何见解,将不胜感激

// JSON
"data" : [{
     "key1" : "value",
     "key2" : ["valu1", "valu2"]
]}

//Model
Ext.define("Test.model.Values",
    extend: "Ext.data.Model"

   fields: [
       name: "key1"
       type: "string"
   ,
       name: "values"
       type: "string"
       convert: (value, record) ->
         return record.get("key2").length
   ]
)设置

type: "string"
在包含数组的字段上,例如:

["valu1", "valu2"] 
将强制将值转换为字符串:

"valu1,valu2"
在本例中正好是11个字符长

首先,您需要为“key2”定义一个字段,以便从数据中读取该字段,然后确保不显式设置类型

fields: [{
   name: "key1",
   type: "string",
},{
   name: "key2"
},{
   name: "values",
   convert: function(value, record){
     return record.get("key2").length
   }
}]
在代码的某个地方(虽然不是上面的代码),1被添加为字符串