1. ホーム
  2. javascript

[解決済み] JavascriptオブジェクトのJson文字列へのエンコード

2022-12-03 04:44:25

質問

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 関数のようなものが欲しいのです。

どのように解決するのですか?

もし、変数 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'
    }
  }
}