Je veux encoder un objet Javascript dans une chaîne JSON et j'ai des difficultés considérables.
L'objet ressemble à quelque chose comme ça
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";
Je veux obtenir ceci dans une chaîne JSON pour le mettre dans une requête ajax.
{'k':{'Tweet_id':98745521,'user_id':54875, 'data':{...}}}
vous obtenez l'image. Peu importe ce que je fais, ça ne marche pas. Tous les encodeurs JSON comme json2 et autres
[]
Cela ne m'aide pas. En gros, j'aimerais avoir quelque chose comme la fonction php encodejson
.
À moins que la variable k
ne soit définie, c'est probablement ce qui vous cause des ennuis. Quelque chose comme ça fera ce que vous voulez:
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);
Vous pouvez aussi tout faire en même temps:
var new_tweets = {
k: {
Tweet_id: 98745521,
user_id: 54875,
data: {
in_reply_to_screen_name: 'other_user',
text: 'Tweet_text'
}
}
}
Vous pouvez utiliser JSON.stringify
comme:
_JSON.stringify(new_tweets);
_