Javascript-Objekt in Json-String codieren

Lesezeit: 2 Minuten

Benutzer-Avatar
Lukas Oppermann

Ich möchte ein Javascript-Objekt in einen JSON-String codieren und habe erhebliche Schwierigkeiten.

Das Objekt sieht in etwa so aus

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

Ich möchte dies in eine JSON-Zeichenfolge einfügen, um es in eine Ajax-Anfrage einzufügen.

{'k':{'tweet_id':98745521,'user_id':54875, 'data':{...}}}

du bekommst das Bild. Egal was ich mache, es funktioniert einfach nicht. Alle JSON-Encoder wie json2 und dergleichen produzieren

[]

Nun, das hilft mir nicht weiter. Grundsätzlich hätte ich gerne so etwas wie die php encodejson Funktion.

  • was hast du eigentlich probiert? Bitte geben Sie einen Code Ihrer Versuche an …

    Benutzer57508

    24. Juli 2011 um 22:15 Uhr

Benutzer-Avatar
David Ward

Es sei denn, die Variable k definiert ist, verursacht das wahrscheinlich Ihre Probleme. So etwas wird tun, was Sie wollen:

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

Du kannst auch alles auf einmal machen:

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

  • Du bist ein Genie. Vielen Dank. Das k wurde definiert. Das Problem war, dass ich dumm war, new Array() anstelle eines Objekts {} zu verwenden.

    – Lukas Oppermann

    24. Juli 2011 um 22:21 Uhr

  • Funktioniert perfekt … Ich mache einen Test und das Ergebnis ist großartig. Vielen Dank. console.info(json); console.log(new_tweets["k"]); console.log(new_tweets["k"]["user_id"]); console.log(new_tweets["k"]["data"]["text"]);

    – Äquimann

    13. August 2013 um 0:50 Uhr


  • Nachdem Sie so viel über CORS- und Chrome-Sicherheit gelesen haben, ist dies eine einfache und effektive Möglichkeit, JSON-Daten zu codieren. Ein sehr wohlverdientes +1

    – Asche999

    4. Februar 2014 um 2:37 Uhr

  • @TomášZato: Warum genau sollte es so sein? JSON.stringify älter als PHP json_encodefalls du das meinst.

    – David Ward

    20. Oktober 2014 um 0:37 Uhr

  • Ja, das war, was ich dachte. Ich habe davon erfahren JSON kürzlich. In der Vergangenheit habe ich verwendet eval um JSON-Antworten zu analysieren. Ich war froh, dass das eval aus meinem Code entfernt wird.

    – Tomáš Zato – Wiedereinsetzung von Monica

    20. Oktober 2014 um 0:45 Uhr


Benutzer-Avatar
Lukas C.

Sie können verwenden JSON.stringify wie:

JSON.stringify(new_tweets);

1205470cookie-checkJavascript-Objekt in Json-String codieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy