web-dev-qa-db-ja.com

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':{...}}}

写真が撮れます。私が何をしても、うまくいきません。 json2などのすべてのJSONエンコーダーは、

[]

まあ、それは私を助けません。基本的に、php encodejson関数のようなものが欲しいです。

98
Lukas Oppermann

変数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'
    }
  }
}
157
Dave Ward

この機能を使用できます:

JSON.stringify(new_tweets);
13
Luca C.