Append JSON Strings Append JSON Strings json json

Append JSON Strings


This will do:

// Input:var json_string = '{"name":"John"}';// Convert JSON array to JavaScript objectvar json_obj = JSON.parse( json_string );// Add new key value pair "myData": "Helo World" to objectjson_obj.myData = 'Hello World';// Another more dynamic way to add new key/value pairjson_obj['myAnotherData'] = 'FooBar';// Convert back to JSON stringjson_string = JSON.stringify( json_obj );// Log to console:console.log( json_string );

Output:

{    "name": "John",    "myData": "Hello World",    "myAnotherData": "FooBar"}

jQuery JSON parser:

If you want to use jQuery parser or need support for IE7 you can replace

var json_obj = JSON.parse( json_string );

with

var json_obj = $.parseJSON( json_string );

Unfortunately, jQuery cannot convert json_object back to JSON string, you will need another plugin or library for that.

More on topic:

MDN documentation

Browser support


use back slash:

"{\"id\": \"abc123\", \"success\": true}"


Untested, but this should work:

function updateJsonString(oldString, newString) {    var oldObj = JSON.parse(oldString), newObj = newString.parse(newString);    for(prop in newObj) {        if(newObj.hasOwnProp(prop)) {            if(!oldObj.hasOwnProp(prop)) {                oldObj[prop] = newObj[prop];            }        }    }    return JSON.stringify(oldObj);}var updatedString = updateJsonString(string2, string1);