将 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的功能。

247630 次浏览

Unless the variable k is defined, that's probably what's causing your trouble. Something like this will do what you want:

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);

You can also do it all at once:

var new_tweets = {
k: {
tweet_id: 98745521,
user_id: 54875,
data: {
in_reply_to_screen_name: 'other_user',
text: 'tweet_text'
}
}
}

You can use JSON.stringify like:

JSON.stringify(new_tweets);