最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Append extra attribute to JSON Object - Stack Overflow

programmeradmin3浏览0评论

I'm trying to append an element to my JSON object. Structure of JSON is as follows:

    [
        {
            "newId": "167249-20",
            "title": "El Supremo ordena reabrir la causa por los delitos fiscales de Carlos Fabra",
            "created": "2011-12-01T13:22:00+01:00",
            "priority": "99999",
            "primaryCategoryId": "305",
            "summary": "La sala de lo penal de este órgano ha dejado sin efecto el archivo por prescripción de cuatro de los cinco delitos fiscales que se le imputan al expresidente de la Diputación de Castellón.",
            "image": "http%3A%2F%2Fwww.heraldo.es%2Fuploads%2Fimagenes%2Frec15%2F_reaperuradelcasofabra9558214_d07227b1.jpg",
            "timestamp": "1322742120"
        },
        {
            "newId": "167233-20",
            "title": "Victoria Rodríguez y Claire Morel se imponen en el Open de Andorra",
            "created": "2011-12-01T13:11:00+01:00",
            "priority": "5",
            "primaryCategoryId": "307",
            "summary": "Las patinadoras del Aramón Jaca y del CETDI, Victoria Rodríguez Long y Claire Morel se impusieron en sus respectivas categorías en el Open de Andorra de Patinaje sobre hielo disputado el pasado fin de semana en la pista de Canillo.",
            "image": "",
            "timestamp": "1322741460"
        }
]

so I want to add and extra attribute (imageLocation) as follows:

[
    {
        "newId": "167249-20",
        "title": "El Supremo ordena reabrir la causa por los delitos fiscales de Carlos Fabra",
        "created": "2011-12-01T13:22:00+01:00",
        "priority": "99999",
        "primaryCategoryId": "305",
        "summary": "La sala de lo penal de este órgano ha dejado sin efecto el archivo por prescripción de cuatro de los cinco delitos fiscales que se le imputan al expresidente de la Diputación de Castellón.",
        "image": "http%3A%2F%2Fwww.heraldo.es%2Fuploads%2Fimagenes%2Frec15%2F_reaperuradelcasofabra9558214_d07227b1.jpg",
        "timestamp": "1322742120",
        "imageLocation:" "xxx/xxx/xxx/xxx/xxx/xxx/jpg"
    },
    {
        "newId": "167233-20",
        "title": "Victoria Rodríguez y Claire Morel se imponen en el Open de Andorra",
        "created": "2011-12-01T13:11:00+01:00",
        "priority": "5",
        "primaryCategoryId": "307",
        "summary": "Las patinadoras del Aramón Jaca y del CETDI, Victoria Rodríguez Long y Claire Morel se impusieron en sus respectivas categorías en el Open de Andorra de Patinaje sobre hielo disputado el pasado fin de semana en la pista de Canillo.",
        "image": "",
        "timestamp": "1322741460",
        "imageLocation:" "xxx/xxx/xxx/xxx/xxx/xxx/jpg"
    }
]

I'm trying to append an element to my JSON object. Structure of JSON is as follows:

    [
        {
            "newId": "167249-20",
            "title": "El Supremo ordena reabrir la causa por los delitos fiscales de Carlos Fabra",
            "created": "2011-12-01T13:22:00+01:00",
            "priority": "99999",
            "primaryCategoryId": "305",
            "summary": "La sala de lo penal de este órgano ha dejado sin efecto el archivo por prescripción de cuatro de los cinco delitos fiscales que se le imputan al expresidente de la Diputación de Castellón.",
            "image": "http%3A%2F%2Fwww.heraldo.es%2Fuploads%2Fimagenes%2Frec15%2F_reaperuradelcasofabra9558214_d07227b1.jpg",
            "timestamp": "1322742120"
        },
        {
            "newId": "167233-20",
            "title": "Victoria Rodríguez y Claire Morel se imponen en el Open de Andorra",
            "created": "2011-12-01T13:11:00+01:00",
            "priority": "5",
            "primaryCategoryId": "307",
            "summary": "Las patinadoras del Aramón Jaca y del CETDI, Victoria Rodríguez Long y Claire Morel se impusieron en sus respectivas categorías en el Open de Andorra de Patinaje sobre hielo disputado el pasado fin de semana en la pista de Canillo.",
            "image": "",
            "timestamp": "1322741460"
        }
]

so I want to add and extra attribute (imageLocation) as follows:

[
    {
        "newId": "167249-20",
        "title": "El Supremo ordena reabrir la causa por los delitos fiscales de Carlos Fabra",
        "created": "2011-12-01T13:22:00+01:00",
        "priority": "99999",
        "primaryCategoryId": "305",
        "summary": "La sala de lo penal de este órgano ha dejado sin efecto el archivo por prescripción de cuatro de los cinco delitos fiscales que se le imputan al expresidente de la Diputación de Castellón.",
        "image": "http%3A%2F%2Fwww.heraldo.es%2Fuploads%2Fimagenes%2Frec15%2F_reaperuradelcasofabra9558214_d07227b1.jpg",
        "timestamp": "1322742120",
        "imageLocation:" "xxx/xxx/xxx/xxx/xxx/xxx/jpg"
    },
    {
        "newId": "167233-20",
        "title": "Victoria Rodríguez y Claire Morel se imponen en el Open de Andorra",
        "created": "2011-12-01T13:11:00+01:00",
        "priority": "5",
        "primaryCategoryId": "307",
        "summary": "Las patinadoras del Aramón Jaca y del CETDI, Victoria Rodríguez Long y Claire Morel se impusieron en sus respectivas categorías en el Open de Andorra de Patinaje sobre hielo disputado el pasado fin de semana en la pista de Canillo.",
        "image": "",
        "timestamp": "1322741460",
        "imageLocation:" "xxx/xxx/xxx/xxx/xxx/xxx/jpg"
    }
]
Share Improve this question asked Dec 11, 2011 at 17:17 StephenStephen 4,8138 gold badges54 silver badges79 bronze badges 0
Add a ment  | 

2 Answers 2

Reset to default 6

If you have parsed your JSON string into javascript object named jsonObj, you can easily loop through collection and add the new property:

for (int i = 0; i<jsonObj.length;i++)
{
   var singleItem = jsonObj[0];
   singleItem.imageLocation = "http://someUrl/" + singleItem.newId; // example
}

If you then need to get JSON as string, use JSON.stringify(jsonObj).

If you haven't parsed you JSON string to Javascript object, you can do it easily:

var jsonObj = JSON.parse(jsonString);

You've talked about a "JSON object," but my guess is that you're not dealing with strings (JSON), you're actually dealing with the deserialized JavaScript object (and array).

If so, just loop through the array and assign the new property to the objects:

var index;
for (index = 0; index < array.length; ++index) {
    array[index].imageLocation = /* ...value here */;
}

...where array is a reference to the array you've quoted in your question.

发布评论

评论列表(0)

  1. 暂无评论