2012-12-20 5 views
0

Ce que je peux faire est d'étendre mon objet JSON avec un nouvel attrubute.Ajouter un nouvel attribut à la chaîne JSON

par exemple

var jsonText = { 
      "Repeats": 1, 
      "Trials": 4, 
      "GroupName": "Mobile phones", 
      "targets": [ 
        { 
         "name": "Apple", 
        }, 
        { 
         "name": "Samsung", 
        } 
       ]} 

Ce que je voudrais finir avec l'inclusion d'un nouvel élément Déployez l'objet de sorte qu'il ressemble alors quelque chose comme.

var jsonText = { 
      "NewItem" : NewValue, 
      "Repeats": 1, 
      "Trials": 4, 
      "GroupName": "Mobile phones", 
      "targets": [ 
        { 
         "name": "Apple", 
        }, 
        { 
         "name": "Samsung", 
        } 
       ]} 
+1

'jsonText.NewItem = NewValue'? –

+0

Comme vous le savez peut-être, l'ordre des propriétés n'a pas d'importance. –

+0

Je sais que l'ordre n'a pas d'importance, je l'ai ajouté au début pour le rendre plus évident pour voir le résultat que je cherchais. – TheAlbear

Répondre

6

Vous avez un littéral d'objet JavaScript, pas une chaîne JSON. Vous pouvez interagir avec elle comme un objet normal littéral:

jsonText.NewItem = "NewValue"; 

Si vous avez eu en fait une chaîne JSON vous pourriez d'abord analyser dans un objet JavaScript puis le gérer de la même manière, et sérialisation ensuite en un une chaîne JSON. Par exemple:

var jsonText = '{ "Repeats": 1, "Trials": 4 }', 
    actualObj = JSON.parse(jsonText); 
actualObj.newItem = "New Value"; 
jsonText = JSON.stringify(actualObj); 
Questions connexes