将Javascript对象编码为Json字符串

Luk*_*ann 99 javascript json object javascript-objects

我想将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";
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个JSON字符串,将它放入一个ajax请求中.

{'k':{'tweet_id':98745521,'user_id':54875, 'data':{...}}}
Run Code Online (Sandbox Code Playgroud)

你得到了照片.不管我做什么,它都行不通.所有JSON编码器都像json2等产生

[]
Run Code Online (Sandbox Code Playgroud)

嗯,这对我没有帮助.基本上我想有像PHP encodejson功能的东西.

Dav*_*ard 158

除非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);
Run Code Online (Sandbox Code Playgroud)

您也可以一次完成所有操作:

var new_tweets = {
  k: {
    tweet_id: 98745521,
    user_id: 54875,
    data: {
      in_reply_to_screen_name: 'other_user',
      text: 'tweet_text'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么地狱不是叫做`encode`的方法? (4认同)
  • 你是个天才.非常感谢你.k被定义了.问题是我使用新的Array()而不是对象{}是愚蠢的. (3认同)

Luc*_* C. 13

你可以使用这个功能:

JSON.stringify(new_tweets);
Run Code Online (Sandbox Code Playgroud)