后端需要一个json对象,对象里面有map类型属性,前端好像没有map类型数据,那么怎么弄呢?非要改后端吗,那么太不方便了,前端怎么解决这个问题哇
json本来是javascript里的内容,有时后端要传各种各样的数据格式来适应前端,所以需要用到json来转换,用它来表示各种各样复杂的数据,如对象,数组,集合,以及集合的集合等数据。
先来了解json是什么,json是一种轻量级的前端后端以及网络传输的数据交换格式,就是一串字符串,只不过元素会使用特定的符号标注。 {} 双括号表示对象,[] 中括号表示数组,”” 双引号内是属性或值,: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)。也就是说在后端可以把一个字符串,然后通过json来转换成特定的字符串传到前端去。
不就是字符串么 ? 再说你后端需要的是包含map类型的json 也其实还是字符串 . 很容易的转换 , 改后端来的快些
你的map传过去就是就转换成json了。传的时候不是同样吗?
{
"dataList" :[
{
"name" : "name1",
"pwd" : "123",
"adress" : "上海"
},
{
"name" : "name2",
"pwd" : "123",
"adress" : "上海"
}
],
"datalist2" :[
{
"name" : "name3",
"pwd" : "123",
"adress" : "上海"
},
{
"name" : "name4",
"pwd" : "123",
"adress" : "上海"
}
]
}
把前台数据改成这种格式的数据就好了
不存在的,json只是一种数据类型,分为两种格式,列表形式,键值对形式,,,,不管怎么样都可以转成js中的对象,,,你map就会转成键值对形式,,,前端直接使用就好了
"{
\"name\" : \""+变量+"\",
\"pwd\" : \""+变量+"\"
}"
es6里面有map类型,你可以搜一下,还有set类型可供使用
要看你是传统的开发还是现在ES6新语法在开发
原理就是Json对象里还是放Json对象,
可以
var obj = {};
obj.id = info.id; //这里id是key 的名称
也可以
var obj = {};
obj["id"] = info.id; //这里id也是key 的名称
甚至可以
obj[id] = info.id;
//这里的id就是变量了,可以赋值 ,比如以遍历对象的id准确的值作为key