Datatable saves data as: {id:1,other:‘data’}
How to force enclose properties names and string data with double quotes, ", as:
{“id”: 1, “other”: “data”}
Datatable saves data as: {id:1,other:‘data’}
How to force enclose properties names and string data with double quotes, ", as:
{“id”: 1, “other”: “data”}
Hello @paulo_martins,
How to force enclose properties names and string data with double quotes, "
I take it you want to send a server request in the format of a JSON string? Such modification is indeed possible, since you can change the parameters of any server request that is being issued on the client-side. A custom proxy
object can be used to process the request parameters (you can also provide any additional logic to process the server request in general). The proxy should return either a promise, or a data object.
For instance, you can take the original request parameters and convert them to a JSON string: https://snippet.webix.com/pc4e1dqu (try adding/deleting a row and looking at the request details).
Thank you!
This partly solves the problem, but json.stringify serializes some number values, such as strings, while the api server expects a number type.
Source of datatable:
{"id":1,"username":"frank","euid":1,"euidc":2,"euname":"frank","ad":0,"pin":"5511","password":"","email":"abc@gmail.com","profiles":"14","alogin":0,"access":0}
JSON.Stringify results in a request:
{"id":1,"username":"franklin 3","euid":"1","euidc":"2","euname":"Franklin","ad":0,"pin":"5511","password":"","email":"defrank@gmail.com","profiles":"14","alogin":0,"access":0}
{error: {statusCode: 422, name: "UnprocessableEntityError",…}}
error: {statusCode: 422, name: "UnprocessableEntityError",…}
statusCode: 422
name: "UnprocessableEntityError"
message: "The request body is invalid. See error object `details` property for more info."
code: "VALIDATION_FAILED"
details: [{path: ".euid", code: "type", message: "should be number", info: {type: "number"}},…]
0: {path: ".euid", code: "type", message: "should be number", info: {type: "number"}}
path: ".euid"
code: "type"
message: "should be number"
info: {type: "number"}
type: "number"
1: {path: ".euidc", code: "type", message: "should be number", info: {type: "number"}}
path: ".euidc"
code: "type"
message: "should be number"
info: {type: "number"}
type: "number"
If you can help me …
This partly solves the problem, but json.stringify serializes some number values, such as strings, while the api server expects a number type.
This simply means that the original value was provided as such (in a form of a string), or was converted in the process. Still, this can be avoided by converting the values back to the number type just before issuing a server request. Please take a look at the following example: https://snippet.webix.com/jhtk569g.
Thanks, I resolved with a proxy, converted the values first and submitted later. However the source for datatable is in the form of number and I still don’t understand why some are changed and some are not.