$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
0

How to update particular json key value in local JSON model

Feb 08, 2017 at 10:30 AM

75

avatar image
Former Member

I have a local json model

like:

{

"CompliantCollection": [

{

"ComplaintId": "123",

"Name": "Software Installations",

"Description": "SAP NetWeaver AS ABAP 7.50 SP2 Developer Edition Installation on MAC O",

"TicketDate":"11/01/2017 12:50:50",

"CurrentOwner":"Admin",

"Address":"A-293,New Ashok Nagar,new Delhi",

"Status":"Pool"

}

]

}

Need to update Status to WIP for ComplaintID :123

How to do ?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Antonette Venter Feb 08, 2017 at 01:28 PM
0

Hey Gaurav

Try something like this:

var collection = <mymodel>.getProperty("/CompliantCollection");

for (var i = 0; i < collection.length; i++) {

if (collection[i].ComplaintId== "123")

<mymodel>.setProperty("/CompliantCollection/" + i + "/Status", "WIP");

};

Hope this help

Antonette :)

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

My JsonArray may be consist of large no of records(upto 100).

for update one key , i need to iterate the whole array.

Any other approach.

Gaurav Mittal

0

100 is nothing......

0
avatar image
Former Member Feb 09, 2017 at 06:13 AM
0

Gaurav,

I am trying to understand your use case here. You might probably have complainCollection items listed as a list or table control in your view.

The change that you are talking about in the status will be happening from the view via an editable input control or edit button. This is one common use case. If this is your scenario too, you can get the binding element (on what item the edit event occurs) in your controller using event listeners and you can directly set the value there.

But, if you want to trigger and set the change only in controller - I mean without the change being triggered from view (Not a common scenario though) , you would have to search the array for the right object (Object with complaint ID=123) before setting STATUS=WIP. Which search algorithm to use is upto you.

If this doesn't help, Please share your view and controller code so we can try solving it better.

Thanks,

Murali L

Share
10 |10000 characters needed characters left characters exceeded