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

javascript - How do I add one single value to a JSON array? - Stack Overflow

programmeradmin6浏览0评论

I am kind of new to the world of interface, and i found JSON is amazing, so simple and easy to use. But using JS to handle it is pain !, there is no simple and direct way to push a value, check if it exists, search, .... nothing !

and i cannot simply add a one single value to the json array, i have this :

loadedRecords = {}

i want to do this :

loadedRecords.push('654654')
loadedRecords.push('11')
loadedRecords.push('3333')

Why this is so hard ???!!!

I am kind of new to the world of interface, and i found JSON is amazing, so simple and easy to use. But using JS to handle it is pain !, there is no simple and direct way to push a value, check if it exists, search, .... nothing !

and i cannot simply add a one single value to the json array, i have this :

loadedRecords = {}

i want to do this :

loadedRecords.push('654654')
loadedRecords.push('11')
loadedRecords.push('3333')

Why this is so hard ???!!!

Share Improve this question edited Jun 30, 2011 at 16:50 No Results Found 103k38 gold badges198 silver badges231 bronze badges asked Jun 30, 2011 at 16:46 Dewan159Dewan159 3,0747 gold badges41 silver badges47 bronze badges 1
  • I think you're looking for setters. see my answer below. – batman Commented Jun 30, 2011 at 16:51
Add a ment  | 

7 Answers 7

Reset to default 6

Because that's an object, not an array.

You want this:

var = loadedRecords = []
loadedRecords.push('1234');

Now to your points about JSON in JS:

there is no simple and direct way to push a value

JSON is a data exchange format, if you are changing the data, then you will be dealing with native JS objects and arrays. And native JS objects have all kinds of ways to push values and manipulate themeselves.

check if it exists

This is easy. if (data.someKey) { doStuff() } will check for existence of a key.

search

Again JSON decodes to arrays and objects, so you can walk the tree and find things like you could with any data structure.

nothing

Everything. JSON just translates into native data structures for whatever language you are using. At the end of the day you have objects (or hashes/disctionaries), and arrays which hold numbers strings and booleans. This simplicity is why JSON is awesome. The "features" you seek are not part of JSON. They are part of the language you are using to parse JSON.

Well .push is an array function.

You can add an array to ur object if you want:

loadedRecords = { recs: [] };

loadedRecords.recs.push('654654');
loadedRecords.recs.push('11');
loadedRecords.recs.push('3333');

Which will result in:

loadedRecords = { recs: ['654654', '11', '3333'] };

{} is not an array is an object literal, use loadedRecords = []; instead.

If you want to push to an array, you need to create an array, not an object. Try:

loadedRecords = [] //note... square brackets
loadedRecords.push('654654')
loadedRecords.push('11')
loadedRecords.push('3333')

You can only push things on to an array, not a JSON object. Arrays are enclosed in square brackets:

var test = ['i','am','an','array'];

What you want to do is add new items to the object using setters:

var test = { };
test.sample = 'asdf';
test.value = 1245;

Now if you use a tool like FireBug to inspect this object, you can see it looks like:

test {
    sample = 'asdf,
    value = 1245
}

Simple way to push variable in JS for JSON format

var city="Mangalore";
var username="somename"

var dataVar = {"user": 0,
                "location": {
                    "state": "Karnataka",
                    "country": "India",  
                },
            }

            if (city) {
                dataVar['location']['city'] = city;
            }
            if (username) {
                dataVar['username'] = username;
            }

Whats wrong with:

var loadedRecords = [ '654654', '11', '333' ];
发布评论

评论列表(0)

  1. 暂无评论