最近遇到个想复杂了的问题,就是如何用Javascript生成Json。
因为之前用的都是高级语言,已经封装好了数据结构或者类,直接赋值就好了。
之前想模拟前端向后台呼叫接口,需要POST方式传递JSON进来。然后就懵住了。
咦?我应该不用傻傻的拼接字符串吧。然后开始了脑洞。
脑洞第一版,模仿Salesforce制作List的方式
var dataArray = []; var data = {}; data["id"] = "0010000000ABCD"; data["name"] = "Account"; dataArray.push(data); var jsonString = JSON.stringify(dataArray); var output = eval("(" + jsonString + ")");
感觉很怪。
脑洞第二版,用Javascript的类概念
var Account = new Object(); Account.Id = "0010000000ABCD"; Account.Name = "Account"; var output = JSON.stringify(Account);
感觉好多了,但感觉还是不够简单。毕竟Json是Javascirpt原生支持的啊。
然后查了半天,发现自己真的想复杂了
var output = {Id:"0010000000ABCD", Name:"Account"};
囧
// Update 1
补充一下如何传两条数据
var output = [{Id:"0010000000ABCD", Name:"Account1"}, {Id:"0010000000ABCE", Name:"Account2"}];