0

I have a JSON Object like this :

{
    "Name": "Shivansh",
    "RollNo": "1",
    "Stream": "CSE",
    "OverallScore": "76",
    "Semester": [
        {
            "SemesterName": "FY-2012 - 1",
            "TotalScore": "78.00",
            "StartDate" : "2012-02-14",
            "EndDate" : "2012-07-16",
            "Amount" : "55000",
            "Subject": [
                {
                    "subjectname": "maths",
                    "score": "81"
                },
                {
                    "subjectname": "chemistry",
                    "score": "79"
                },
                {
                    "subjectname": "physics",
                    "score": "77"
                }
            ]
        },
        {
            "SemesterName": "FY-2013-1",
            "TotalScore": "76.00",
            "StartDate" : "2013-02-16",
            "EndDate" : "2014-07-16",
            "Amount" : "55000",
            "Subject": [
                {
                    "subjectname": "ADA",
                    "score": "80"
                },
                {
                    "subjectname": "Operating System",
                    "score": "77"
                },
                {
                    "subjectname": "Databases",
                    "score": "73"
                },
                {
                    "subjectname": "Economics",
                    "score": "71"
                }
            ]
        }                
    ]
}

Now i want to add another semester field into this JSON by using angularJS. Can anyone help me how to achieve this. The next field that I would add may look like:

{
                    "SemesterName": "FY-2013-2",
                    "TotalScore": "75.00",
                    "StartDate" : "2011-02-16",
                    "EndDate" : "2012-07-16",
                    "Amount" : "55067800",
                    "Subject": [
                        {
                            "subjectname": "Sets and Probability",
                            "score": "78"
                        },
                        {
                            "subjectname": "Networking and Security",
                            "score": "76"
                        },
                        {
                            "subjectname": "Advanced DataBases",
                            "score": "72"
                        },
                        {
                            "subjectname": "Economics-2",
                            "score": "70"
                        }
                    ]
                }

so far I am using this type of controllers as mentioned below:

$scope.addRowSubject = function() {
            $scope.insertsub = {
                //id = $scope.getSubject.length+1;
                subjectname : '1',
                score : '1'
            };

            $scope.getSubject.push($scope.insertsub);
};

getSubject is the list of subjects which are present in one semester field. I am able to get this list without any issues.

$scope.addRowSemester = function() {
            $scope.insertsem = {
                //id = $scope.getSemester.length+1;
                StartDate : "1",
                EndDate : "1",
                Amount : "1",
                SemesterName : "1",
                TotalScore : "1",
                Subject : ""
            }
$scope.getSemester.push($scope.insertsem);
};

getSemester is the list of Semesters in a Student.

I am able to push a semester field inside my JSON but as the Subject field is null i am not able to push the subject field. I hope you are getting the idea. So any suggestions about this.. Thanks in advance.

1
  • 1
    Could you add a plunkr? Commented Apr 28, 2016 at 10:43

1 Answer 1

1

Subject properties of your jsonObject is should be an instance of array, like this:

$scope.addRowSemester = function() {
            $scope.insertsem = {
                //id = $scope.getSemester.length+1;
                StartDate : "1",
                EndDate : "1",
                Amount : "1",
                SemesterName : "1",
                TotalScore : "1",
                Subject : []
            }
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.