Skip to main content
Participant
March 8, 2013
Answered

Generating Json

  • March 8, 2013
  • 1 reply
  • 527 views

I am trying to generate the following with Coldfusion to pass that as a json object to JS. 

[

  {

    key: "Final List",

    values: [

      {

        "label": "Title I",

        "value" : 33

      } ,

      {

        "label": "Title II",

        "value" : 33

      }

    ]

  }

I have:

postObject["KEY"] = "Final List";

postObject["VALUES"] = [];

postObject.values[1] = {'label':"Title I", 'value':"33"};

postObject.values[2] = {'label':"Title II", 'value':"35"};

serializeJSON(postObject);

The result I get is a bit different:

{"VALUES":[{"value":33,"label":"Title I"},{"value":35,"label":"Title II"},

"key":"Final List"}

Any help appreciated...

This topic has been closed for replies.
Correct answer Ashish_Todon

Keep result(postObject) in an array. Javascript is case sensitive so its better to use structinsert in that case

resultArray = ArrayNew(1);

structInsert(postObject, "key", "Final List");

structInsert(postObject, "values", "");

TEMPvalues = ArrayNew(1);

TEMPvalues [1] = {'label':"Title I", 'value':"33"};

TEMPvalues [2] = {'label':"Title II", 'value':"35"};

postObject.values = TEMPvalues;

resultArray[1] =  postObject;

serializeJSON(resultArray);

1 reply

Ashish_TodonCorrect answer
Inspiring
March 8, 2013

Keep result(postObject) in an array. Javascript is case sensitive so its better to use structinsert in that case

resultArray = ArrayNew(1);

structInsert(postObject, "key", "Final List");

structInsert(postObject, "values", "");

TEMPvalues = ArrayNew(1);

TEMPvalues [1] = {'label':"Title I", 'value':"33"};

TEMPvalues [2] = {'label':"Title II", 'value':"35"};

postObject.values = TEMPvalues;

resultArray[1] =  postObject;

serializeJSON(resultArray);

NeoColdAuthor
Participant
March 8, 2013

Thanks that was it.  Much appreciated!!!