我在Rails操作中有一个哈希数组,我以json格式返回客户端:
{"msg": "Got report data.Check 'report' json object. ", "success": true, "reports": "[{\"total_transfers\": 0, \"total_keywords\": 0, \"keyword\": \"plum\", \"total_duration\":1464.0, \"total_calls\": 22, \"total_sms\": 0, \"avg_duration\": 67,\"total_email\": 0}]"}
在行动中我做:返回reports.to_json,但你可以看到它看起来不像有效的json(为什么转义字符?)
在客户端js代码中,我执行reports.length并获取163 ???何时应该说1,因为报告数组中只有一个“报告”。
答案 0 :(得分:0)
正如您所看到的,“reports”是一个大字符串,而不是您期望的哈希数组(163是字符串的长度,这就是您可以看到转义字符的原因)。您使用哪个json库使用rails?你的哈希数组究竟是什么类型的对象?它可能没有实现to_json方法......
或者你可以尝试首先将你的repsonse转换为yaml,从而让json变得更容易。
答案 1 :(得分:0)
reports_array_object = eval("(" + reports + ")");
甜!!!!