gpt4 book ai didi

javascript - jQuery - 从 JSON Stringify 获取值

转载 作者:行者123 更新时间:2023-12-01 03:46:02 25 4
gpt4 key购买 nike

我有一个表单,我需要从中获取值:

var formConfig = JSON.stringify($("#bookingform").serializeArray());

返回如下:

[{"name":"client_id","value":"1"},{"name":"consignee_id","value":""},{"name":"client","value":"DAKO"},{"name":"model","value":"2"},{"name":"type","value":"2"},{"name":"temperatur","value":"2"},{"name":"shipper_labels","value":"1"},{"name":"batteri_labels","value":"1"},{"name":"batteri_number","value":"2222"},{"name":"pickup","value":"April 27, 2017 18:25"},{"name":"intern_marks","value":"fdsfads"},{"name":"extern_marks","value":"sadsfdsf"},{"name":"consignee","value":""},{"name":"marks","value":""}]

然后我需要从 JSON 字符串访问上述值,我使用此函数来:

var confirmBooking = function(element, setting, correct, notcorrect) {
$('.confirm-booking')
.find(element)
.html(setting === 1 ? correct : notcorrect);
};

我的想法是,我可以使用上面的函数:

confirmBooking('.config_batteri', formConfig.client_id, "Yes", "No");

等等..

formConfig.client_id 应返回 1,因为这是上面 JSON 字符串中的值。

但是它返回未定义:

console.log(formConfig.client_id); // Returns "undefined"

最佳答案

您需要使用 JSON.parse(),使其再次成为常规 JavaScript 对象。

JSON.stringify() 的作用是,顾名思义,使其成为一个字符串。这只是一个表示 JSON 数据的常规字符串。它并没有神奇地具有 JSON 数据属性。

此外,serializeArray() 返回一个 {name: ..., value: ...} 对象数组。如果您没有将其转换为 JSON 字符串,则仍然无法通过执行 formConfig.client_id 轻松访问结果。您必须循环遍历 formConfig 数组,才能找到所需的名称/值对。

从表面上看,如果您只是要在同一个脚本中使用 JavaScript 对象,则根本不需要将 JavaScript 对象转换为 JSON(除非您要将 JSON 字符串发送到其他地方) .


根据OP的评论,我假设OP只想访问特定表单元素的值。使用 jQuery,这可以轻松完成:

// get the value of the client_id element (assuming it's an input element)
var client_id = $( '#bookingform input[name="client_id"]' ).val();
// call the function
confirmBooking( '.config_batteri', client_id, "Yes", "No" );

如果您想要一个包含所有表单值的对象,请查看 this question 中的答案.

关于javascript - jQuery - 从 JSON Stringify 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43570670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com