1.首先 对象不是键值对的,它只有一个属性变量
1.它只有 一个变量,然后遍变量值,在转换成json格式的时候,或者等等把它和map当做
同一种模式处理的时候,都是把对象的变量,字符串化,当做key的值
例如 String s = "123",在json话的时候,就将s,字符化成 "s",key就是"s",value就是"123"
最后就成{"s","123"}
2.我们谈的key,value都是 key的值,value的值,在map中key,就是变量名,我们要谈的是key的值
2.map和json对象
1.他们都是键值对的,在map中key就是key的值,value就是value的值,因为map的
数据结构就是 一个entry,里面有2个属性,Object key,Object value
2.json对象的,key是 {"key",value}
3.json对象的,key是字符串形式的
4.重点,map里面的key 在作为json,或者mybatis的参数的时候,一定是String形式的,毫无疑问的
5.在取值的时候,json对象取值,mybatis#{},el表达式…,以对象.的方式取值的时候,往往都是取的是,去掉字符串"",的key值来获取value值的,比如map.put(“key”,value),取值的时候#{key}
6.包括:url传参 http://sss/username = “kk”,这种username是变量名,是不用字符串化的,你可以类比成对象的变量名,“kk"是它的值,他不是键值对的,但是解析后,封装给Parameters的时候,会把变量名username字符串化"username”,作为key的值,“kk”,作为value的值
反正只要,作为对象. …或者 类似el,json,简便获取值的时候,对象这种不是 键值对形式的,都是将变量,字符串化,为 key的值,获取他们的时候都是直接 .去掉字符串的key的值来的,但是我们要理解此时 对象的内存即可,至于获取形式就是上面那样的
|