a={"updated_at":null, "service_id":"d03bf3ee83aea46d3929f7dafaa9cf11f", "id":8, "credentials":"{\"hostname\":\"172.17.13.102\", \"password\":\"pJLgQTswtbqYR\", \"user\":\"uGeDwna7YV3vF\", \"port\":3306, \"name\":\"d03bf3ee83aea46d3929f7dafaa9cf11f\", \"host\":\"172.17.13.102\", \"node_id\":\"mysql_node_0\", \"username\":\"uGeDwna7YV3vF\"}", "label":"mysql-5.1", "created_at":null, "configuration":"{ \"version\":\"5.1\", \"plan\":\"free\"}"} 请教大家: 以上的我实验中输出的 hash 类型结果,但是我在使用 a["credentials"]["node_id"] 确只返回 node_id.而且还显示 a["credentials"] 的类型是 string,但是可以肯定的是,我是以 hash 表的形式赋值给 a 的“credentials”属性的 请问:1.为什么会出现 string,是不是我哪里没有搞清楚原理?我想访问到正确的 a["credentials"]["node_id"] 2.我赋值的时候,是按 a[:credentials] 的形式赋值的,但是在数据库持久化之后,按 a[:credentials] 确访问不到,必须用 a[“credentials”],从符号转换为 string 是为什么,是自动的吗?