Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSON object creation error

I am trying to create a JSON object in the particular format

{ "id": 12234 , "name": "Alex" , "gender": "Male"}

 // My code starts here

var number = userid;         // alert(userid) is 12345
var name=  nameuser;         // alert(nameuser)  is  Alex
var g= gender;                 // alert(gender) is male

var userObj = { "id": number , "name": name , "gender":g}

I tried `JSON.stringify(userObj); , that returns the object type as

{"id":"12345" , "name":"Alex" , "gender":"Male"}

but this is not what I want as I want the number to be 12345 and not "12345".

also tried stringifying the fields inside the object like

{ "id": number , "name":JSON.stringify(name) ,gender: JSON.stringify(g)} 

but when I do alert(userObj) my object type is Object object and this is not a format the server recognises. I am sure there is a workaround for this but I am unable to figure one out

like image 825
alex Avatar asked Mar 27 '26 02:03

alex


1 Answers

JSON works with strings exclusively. It's invalid to have anything other than a string, array, or other JSON object in JSON. That said, a "number" is not allowed; it needs to be a string. Whatever you are working with with the JSON later needs to be able to change the string back it to a number, if necessary. JavaScript usually does a good job of coercing these.

On the server side you can just do something like

obj = json_decode(source)
obj.id = (int)obj.id
like image 187
Explosion Pills Avatar answered Mar 28 '26 17:03

Explosion Pills



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!