js动态创建json的问题

json={"content":{"id":1,"name":i,"type":1}{"id":2,"name":j,"type":2}{"id":3,"name":v,... json={"content":{"id":1,"name":i,"type":1}
{"id":2,"name":j,"type":2}
{ "id":3,"name":v,"type":0}
......(不一定有几个 内容不定(从前台获取) 动态的)
"text":{"progress":4,"age":9}
{"progress":4,"age":9}
....(也是动态的 ) }
有没有先定义 var json={};
然后在向json里添加上面的内容的方法呀 我搜了好久都没找到
json={"content":[{"id":1,"name":i,"type":1}
{"id":2,"name":j,"type":2}
{ "id":3,"name":v,"type":0}
......(不一定有几个 内容不定(从前台获取) 动态的)
]
"text":[{"progress":4,"age":9}
{"progress":4,"age":9}
....(也是动态的 ) ] }
展开
 我来答
幻想武士
2014-11-25 · TA获得超过1074个赞
知道小有建树答主
回答量:639
采纳率:90%
帮助的人:392万
展开全部

你是问题有2种含义:

1,你是需要js动态创建json对象(即通常的对象):

var json={};
var lst=[];
var obj1={};
obj1['id']=1;
obj1['name']='name';
obj1['type']='type';
lst.push(obj1);
json['content']=lst;

2就是你需要json字符串(json对象转成字符串):

//引用json.js
var js=JSON.stringify(json);
追问
可惜没有分了    我想问一下   json['content']=lst;  这里的json是对象吗       怎么访问json里的东西
追答
json['属性名(如content)']//根据属性获取对应的value值

或者
json.属性名(如content)
a515372068
2014-11-25
知道答主
回答量:22
采纳率:0%
帮助的人:5.3万
展开全部
动态创建json我看的很迷惑,你不就是希望有一个json,能随便添加内容么?
var json = {
content:{
id:1
}
}
json.text = {
id:2
}

//JSON.stringify 将json转换为字符串
//json.parse 将字符串转换为json 这俩方法你肯定会用的到。如果你要兼容IE6和7 ,自行下载json.js来兼容

var str = JSON.stringify(json);
console.log(typeof str +"--->"+str); //string--->{"content":{"id":1},"text":{"id":2}} //转字符串

console.log(json) //直接返回对象 json.content.id 获取id属性
追问
你这个我没太看懂    json.text = {id:2}   这个里的text之前不用定义吗     这样赋值之后text里还能继续加元素了吗   我的意思是text类似一个数组   它里面还要加好多{id:1}这种东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rkc009
推荐于2016-05-15 · TA获得超过1499个赞
知道大有可为答主
回答量:2098
采纳率:60%
帮助的人:1660万
展开全部
<script>
var str = "[{ y: 55.11, color : colors[0] },{ y: 21.63, color: colors[1] },{ y: 11.94,color: colors[2] },{ y: 117.15, color: colors[3] }]";
var json = eval("(" + str + ")");
</script>
追问
这样写 str里的元素个数还是固定的呀    我想要的是里面个数不固定的
追答
<script>
var str1,str2;
str1='[{"id":1,"name":i,"type":1},
                      {"id":2,"name":j,"type":2},
                      { "id":3,"name":v,"type":0}]';
str2 = '[{"progress":4,"age":9},{"progress":4,"age":9}]';
var json={};
json.content = eval("(" + str1+ ")");
json.text = eval("(" + str2+ ")");
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式