将Javascript对象编码为Json字符串
我想将Javascript对象编码为JSON字符串,我遇到了相当大的困难。
对象看起来像这样
new_tweets[k]['tweet_id'] = 98745521;
new_tweets[k]['user_id'] = 54875;
new_tweets[k]['data']['in_reply_to_screen_name'] = "other_user";
new_tweets[k]['data']['text'] = "tweet text";
我想把它变成一个JSON字符串,将它放入一个ajax请求中。
{'k':{'tweet_id':98745521,'user_id':54875, 'data':{...}}}
你得到了照片。 不管我做什么,它都行不通。 所有JSON编码器都像json2等产生
[]
嗯,这对我没有帮助。 基本上我想有像php encodejson
这样的功能。
Lukas Oppermann asked 2019-08-02T07:37:09Z
2个解决方案
155 votes
除非定义变量k
,否则可能是导致您麻烦的原因。 像这样的东西会做你想要的:
var new_tweets = { };
new_tweets.k = { };
new_tweets.k.tweet_id = 98745521;
new_tweets.k.user_id = 54875;
new_tweets.k.data = { };
new_tweets.k.data.in_reply_to_screen_name = 'other_user';
new_tweets.k.data.text = 'tweet text';
// Will create the JSON string you're looking for.
var json = JSON.stringify(new_tweets);
您也可以一次完成所有操作:
var new_tweets = {
k: {
tweet_id: 98745521,
user_id: 54875,
data: {
in_reply_to_screen_name: 'other_user',
text: 'tweet_text'
}
}
}
13 votes
你可以使用这个功能:
JSON.stringify(new_tweets);