The first example is to demonstrate the power and the accessibility JSON offers to developers. This is a JavaScript code designed to make things easier for the -new to JSON- developer:

function User(fName, lName, age, friends)
{
    var UserObject = {
        FirstName: fName,
        LastName: lName,
        Age: age,
        Friends: [],
        IsUnderAge: function()
        {
            return this.Age > 21 ? true : false;
        }
    };

    var FriendsCounter = 0;
    for (var frnd in friends)
    {
        UserObject.Friends[FriendsCounter] = friends[frnd];
        FriendsCounter++;
    }

    return UserObject;
}

This is the constructor. Same as in every OOP language, each object needs to have constructors.

Now, let's say I let a user named Igor fill an information form containing the following fields:

  1. First Name
  2. Last Name
  3. Age
  4. Friends - each friend will have the same fields.

On the "Submit" button, I have a call for a "CreateUser" function which will take the needed fields (using jQuery - but that's for another post) and send to the User constructor.

function createUser()
{
    var IgorsFriends = [];
    IgorsFriends[0] = new User("Uri", "GamingTech", 29, []);
    IgorsFriends[1] = new User("Sergey", "GamingTech", 35, [
        new User("Noam", "GamingTech", 27, [])
    ]);
    
    var Igor = new User("Igor", "GamingTech", 33, IgorsFriends);
}

The outcome of this function will be a variable named Igor which will have the following attributes:

  • First Name
  • Last Name
  • Age

The following methods:

  • IsUnderAge

And the following arrays:

  • Friends - which will contain a list of friends as User objects.

Good luck!

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架