Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery将字符串转换为json并更改其值?_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何使用jquery将字符串转换为json并更改其值?

Javascript 如何使用jquery将字符串转换为json并更改其值?,javascript,jquery,json,Javascript,Jquery,Json,我有一个变量名状态,如何将其转换为JSON对象并更改其值,然后将其转换回字符串 注意:数据字段值本身是另一个JSON,这就是我遇到的问题所在 state='{"instanceId":"iaFMRu32kedGmOHC8umMQ","**dataField**":"{"id":52,"name":"CropSelection"}","validation":"incomplete","required":true,"value":"","hasValue":false,"requiresSave

我有一个变量名状态,如何将其转换为JSON对象并更改其值,然后将其转换回字符串

注意:
数据字段
值本身是另一个
JSON
,这就是我遇到的问题所在

state='{"instanceId":"iaFMRu32kedGmOHC8umMQ","**dataField**":"{"id":52,"name":"CropSelection"}","validation":"incomplete","required":true,"value":"","hasValue":false,"requiresSave":true}';
可用于将字符串转换为JSON

var obj=JSON.parse('{“name”:“John”,“age”:30,“city”:“newyork”}')

可用于将JSON转换回字符串

var myJSON=JSON.stringify(obj)

可用于将字符串转换为JSON

var obj=JSON.parse('{“name”:“John”,“age”:30,“city”:“newyork”}')

可用于将JSON转换回字符串

var myJSON=JSON.stringify(obj)


您可以使用JSON.parse()进行转换

然后修改所需内容:

obj.dataField.name = "newName";
最后,将字符串返回到状态:

state = JSON.stringify(obj);

您可以使用JSON.parse()进行转换

然后修改所需内容:

obj.dataField.name = "newName";
最后,将字符串返回到状态:

state = JSON.stringify(obj);

您可以使用内置的
JSON
函数。我还修复了JSON字符串。您可以用不需要的引号将
“数据字段”
值括起来。它应该是
{“id”:52,“name”:“CropSelection”}
而不是
{“id”:52,“name”:“CropSelection”}

var state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“数据字段”:{“id”:52,“name”:“CropSelection”},“validation”:“complete”,“required”:true,“value”:“hasValue”:false,“requiresave”:true}”;
var obj=JSON.parse(state);
obj.dataField.name='newName';

log(JSON.stringify(obj))
您可以使用内置的
JSON
函数。我还修复了JSON字符串。您可以用不需要的引号将
“数据字段”
值括起来。它应该是
{“id”:52,“name”:“CropSelection”}
而不是
{“id”:52,“name”:“CropSelection”}

var state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“数据字段”:{“id”:52,“name”:“CropSelection”},“validation”:“complete”,“required”:true,“value”:“hasValue”:false,“requiresave”:true}”;
var obj=JSON.parse(state);
obj.dataField.name='newName';

log(JSON.stringify(obj))
您可以执行
JSON.parse
将字符串转换为JSON&然后更新数据字段的值,然后再次执行
JSON.stringify

注意字符串
“dataField”:“{”id“:52,“name”:“CropSelection”}”
这是错误的,它需要是
“dataField”:{”id“:52,“name”:“CropSelection”}

让newDT={
“id”:100,
“名称”:“测试”
}
让state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“dataField”:{“id”:52,“name”:“CropSelection”},“validation”:“complete”,“required”:true,“value”:“hasValue”:false,“requireSave”:true}”;
让k=JSON.parse(state);
k、 数据字段=newDT

console.log(JSON.stringify(k))
您可以执行
JSON.parse
将字符串转换为JSON&然后更新数据字段的值,然后再次执行
JSON.stringify

注意字符串
“dataField”:“{”id“:52,“name”:“CropSelection”}”
这是错误的,它需要是
“dataField”:{”id“:52,“name”:“CropSelection”}

让newDT={
“id”:100,
“名称”:“测试”
}
让state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“dataField”:{“id”:52,“name”:“CropSelection”},“validation”:“complete”,“required”:true,“value”:“hasValue”:false,“requireSave”:true}”;
让k=JSON.parse(state);
k、 数据字段=newDT

console.log(JSON.stringify(k))
在错误发布JSON时发布此答案,并且数据字段的值实际上是包含JSON的嵌套字符串。如果是这样,您可以解析状态,然后解析数据字段。更改已解析的数据字段,然后以增量方式将其转换回字符串

var state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“数据字段”:“{\\“id\\”:52,\\\“name\\”:\\\“CropSelection\\”,“validation”:“未完成”,“必需的”:true,“值”:“hasValue”:false,“requiresave”:true};
var parsedState=JSON.parse(状态);
console.log(parsedState);
var parsedDataField=JSON.parse(parsedState.dataField);
log(JSON.parse(parsedState.dataField));
parsedDataField.name=“新名称”;
parsedState.dataField=JSON.stringify(parsedDataField);
state=JSON.stringify(parsedState);

console.log(状态)在错误发布json的情况下发布此答案,并且数据字段的值实际上是包含json的嵌套字符串。如果是这样,您可以解析状态,然后解析数据字段。更改已解析的数据字段,然后以增量方式将其转换回字符串

var state='{“instanceId”:“iaFMRu32kedGmOHC8umMQ”,“数据字段”:“{\\“id\\”:52,\\\“name\\”:\\\“CropSelection\\”,“validation”:“未完成”,“必需的”:true,“值”:“hasValue”:false,“requiresave”:true};
var parsedState=JSON.parse(状态);
console.log(parsedState);
var parsedDataField=JSON.parse(parsedState.dataField);
log(JSON.parse(parsedState.dataField));
parsedDataField.name=“新名称”;
parsedState.dataField=JSON.stringify(parsedDataField);
state=JSON.stringify(parsedState);

console.log(状态)我已经试过了,它不适用于,因为JSON格式中还有另一个值。e、 g“dataField”:“{”id:52,“name”:“CropSelection”}”。@atul1039见我的答案。它解决了格式不正确的JSONi问题。我已经尝试过了,但它不适用于,因为JSON格式中还有另一个值。e、 g“dataField”:“{”id:52,“name”:“CropSelection”}”。@atul1039见我的答案。它解析格式错误的JSONIs
状态
是字符串还是对象?是字符串还是对象?