我需要在json请求中发送一个json字符串,并在后端传递它作为一个对象进行解组。即,JSon请求具有字符串属性,以后可以将其转换为对象。格式是什么?
我试过了{"name":"bob","address":{"state":"ny","city":"newport"}}
。我不希望"address" : {...}
在这里被解组。我希望它被发送到后端作为字符串。
FWIW,我使用的是杰克逊,我认为这不重要。
另外,我不想逃避角色即
"address":{\"state\":\"ny\",\"city\":\"newport\"}
答案 0 :(得分:0)
我不会尝试自己手动编码json,使用适当的Json编码器来处理你正在使用的任何语言。
{"name":"bob","address":{"state":"ny","city":"newport"}}
无效json。应该引用整个字符串。像:
"{\"name\":\"bob\",\"address\":{\"state\":\"ny\",\"city\":\"newport\"}}"
它将作为字符串到达后端。这就是json字符串是一个字符串。
您需要使用适当的json解码器解码服务器端
如果你不想逃避引号,那么使用单引号和双引号的组合,如:
'{"name":"bob","address":{"state":"ny","city":"newport"}}'
答案 1 :(得分:0)
使用php:
<?php
$a = json_encode(array("state"=>"NY", "city"=> "Newport"));
$b = array("name"=>bob, "address"=>$a);
print_r($a);
print "\n";
print_r(json_encode($b));
print "\n";
?>
输出
{"state":"NY","city":"Newport"}
{"name":"bob","address":"{\"state\":\"NY\",\"city\":\"Newport\"}"}
最后一行是你的答案 - 但是为你做代码总是更好。