嗨,我正在使用 Javascript 创建一个对象数组,其中包含一个键和一个值,使用以下代码。
ValuesArray.push({ key: $(this).attr('someattribute'), value: $(this).val() });
结果,我有这样的对象数组:
key:29; value: 'Country'
Key:12; value: '4,3,5'
当我尝试对其进行字符串化并在帖子中发送该 JSON 时,我在不想要的地方使用了带有 \ 和“ . 如何使用 stringify 创建一个干净的 JSON
var jObject = JSON.stringify(ValuesArray);
我现在错误的 JSON 是:
{
"JObject": "[{\"key\":\"29\",\"value\":\"Country\"}, {\"key\":\"30\",\"value\":\"4,3,5\"}]"
}
我想要一个像这样的 JSON 对象
{
"JObject": [{"key":"29","value":"Country"},{"key":"30","value":"4,3,5"}]
}
没有引号[]
和字符\
任何解决它的好主意。
谢谢
更详细地了解我如何将 JSON 发送到我的 API 这是我将 JSON 发送到我的 Web API 的方式:
function PostAPIRequest(address) {
var jObject = JSON.stringify(ValuesArray);
var responseJson = null;
$.ajax({
url: address,
type: 'POST',
dataType: 'json',
data: { JObject: jObject },
success: function (data) {
responseJson = data
ProcessDataResponse(responseJson);
//TODO: REFRESH THE DATA GRID
},
error: function (xhr, ajaxOptions, thrownError) {
//TODO redirect to the error page and send error email there.
alert(xhr.status);
alert(thrownError);
}
})
}
这就是我在我的 API 控制器中接收它的方式
...
// POST api/datavalues/5
public string Post(int id, JObject value)
{
var temp = value;
...