php - 特定输入值转换为 JSON

标签 php jquery json

以下表单输入值需要使用 Jquery 转换为 JSON,我将通过 AJAX 将此 JSON 数据更新到 mysql。我需要将特定的输入值(例如:产品 ID、产品名称、产品价格、折扣原因、折扣金额)转换为 JSON 格式。我自己尝试过:

$(document).ready(function(){
  var jsons = $('form').serializeJSON();
  console.log( jsons );
});

但是,我无法维持顺序,也无法跳过不需要的输入。

PHP 代码:

    <form>
        First name: <input type="text" name="first_name" value="Addem"> 
        Last name: <input type="text" name="last_name" value="Smith"><br><br>
        Product id: <input type="number" name="items[][cat_id]" value="18"><br><br>
        Product name: <input type="text" name="items[][product_name]" value="Men's t-shirt"><br><br>
        Product sku: <input type="text" name="item_sku" value="PBKL09509403"><br><br>
        Date: <input type="text" name="date" value="2018-09-18"><br><br>
        Product price: <input type="text" name="items[][product_price]" value="165.00"><br><br>
        Discount reason: <input type="text" name="adjustments[][reason]" value="Special"> 
        Discount amount: <input type="text" name="adjustments[][amount]" value="20.00"><br><br>
        Product total: <input type="text" name="total[price]" value="145.00"><br><br>
    </form>

JSON 输出(必需):

{  
   "items":[  
      {  
         "cat_id":18,
         "product_name":"Men's t-shirt",
         "product_price":165
      }
   ],
   "total":{  
      "price":145
   },
   "adjustments":[  
      {  
         "reason":"Special",
         "amount":"20"
      }
   ]
}

最佳答案

要删除不需要的输入,您可以使用delete运算符。

var jsons = $("form").serializeJSON();
delete jsons.first_name;
delete jsons.last_name;

我不知道为什么它不能正确保持顺序。如果这是真的,这听起来像是您正在使用的 serializeJSON 插件中的错误。可能还有其他效果更好的实现。

关于php - 特定输入值转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52390263/

相关文章:

php - 用于 PHP 的 TCPDF 在使用特殊(斯洛文语)字符 đ 时创建空 PDF

JavaScript 和 Jquery : Uncaught TypeError: Cannot read property 'length' of undefined

python - 将 Unicode 对象转换为 Python Dict

javascript - jQuery 在移动设备上使用 skrollr 自动滚动?

javascript - 使用 javascript 解析嵌套 json

php - 寻找最大收入日

php - 获取最近的日期mysql

php - 将变量声明为 PHP 类

javascript - 创建单击时在 Twitter Bootstrap 按钮组中处于事件状态的复选框按钮的哈希值

javascript - 不显眼的 Javascript,我应该使用它吗?管理和组织事件的最佳方式是什么?如何防止效率低下?