当前位置: 首页 > 知识库问答 >
问题:

如何去除花括号并保留JSON的键值

经福
2023-03-14

因此,我想删除所有内部卷曲括号,同时重命名值,如

{“意向”:“P&P_购买”,“Value1”:日期:12月30日,产品:印楝尿素OMIFCO(45公斤),数量:18公吨,INV_NO:NRKT07003160;“Value2”:日期:12月19日,产品:印楝尿素OMIFCO(45公斤),数量:18公吨,INV_NO:NRKT07003160;“Value3”:日期:1月19日,产品:印楝尿素OMIFCO(45公斤),数量:18公吨,INV_NO:NRKT07003160;“Value4”:日期:1月19日,产品:印楝尿素OMIFCO(45公斤),数量:18公吨

现在,我正在尝试处理这段代码,但我无法实现它

    ```var data = {"token" : token,"serviceID" : serviceID,"P_USERID" : P_USERID };
var sdata = JSON.stringify(data);
const options = {
       method: 'POST',
       uri: 'http://chatbotWebservice/resources/webservice/service' ,
       body: JSON.parse(sdata) ,
       json: true
       }
    return request(options)
        .then( body => {
            var unit =  body
            unit.intent = "P&P_Purchase"
            unit.value1 = unit.level3purpay[0]
            console.log(unit.level3purpay[0].prd_desc)
            unit.value2 = unit.level3purpay[1]
            unit.value3 = unit.level3purpay[2]
            unit.value4 = unit.level3purpay[3]
            unit.value5 = unit.level3purpay[4]
            unit.value6 = null
            unit.value7 = null
            unit.value8 = null
            unit.value9 = null
            unit.value10 = null
            delete unit.level3purpay
            const unit_value = {
            date1: "Date",
            prd_desc: "Product",
            qty: "Quantity",
            inv_no: "inv_no"
            };
            const unit2 = Object.entries(unit)
            .map(([key, value]) => `${labels[key]}:${value}`)
            .join();
            var unit3 = JSON.stringify(unit2)
            console.log(unit3)
      conv.ask(unit2);
          })
          .catch( err => {
           console.error( err );
           conv.ask('Something went wrong. What should I do now?');
             });
          }) 

请帮帮我。谢谢

共有1个答案

薛枫
2023-03-14

尝试一个递归函数!

伪代码:

cleanjson = {};
function clearBrakets(json,parent_name){
  keys = getKeys(json);
  for(i = 0; i < keys.lenght; i ++){
   if(json[keys[i]].type == array){
    clearBrakets(json[keys[i]],keys[i]);
   }else{
    cleanjson[parent_name + keys[i]] = json[i];
   }
  }
}

警告:小心使用嵌套的重复密钥名称ex:

 类似资料:
  • 我试图创建一个数据数组与FLOT图表一起使用。我使用这个CodeIgniter代码来生成数组: 这段代码的问题是无法绘制生成的JSON对象,因为“值”实际上是字符串。以下是有问题的JSON输出: 这个JSON有三个问题: 需要方括号而不是花括号;和 以下是JSON输出的格式: 清理这个JSON对象的最佳方法是什么?我应该在服务器端使用CodeIgniter代码吗?或者我应该在javascript中

  • 使用java将svg转换为jpg 现在的问题是除符号外是基本可以实现的但是括号始终是无法转换成功这是svg的原图我转换之后求解

  • 问题内容: 我有一个像下面这样的json字符串 我想从字符串中删除/删除第一个和最后一个方括号。所以我将如何使用JavaScript从上述字符串中删除第一个和最后一个方括号。 请帮我 问题答案: 请参阅此Codepen示例

  • 我得到了这样的回应 因此,在使用时,由于前面有文本“stripe\product json:”,所以我得到了一个错误 请帮忙

  • 问题内容: 我正在使用Json-Simple使用JSon-Simple lib编写配置文件,但是在将json字符串转换为map时遇到问题。 调试我发现parse方法返回的对象是Map!但是当我尝试直接投射到LinkedMap时,我得到了ClassCastException: 问题答案: 除非您知道基础对象实际上是LinkedHashMap(或者是扩展LinkedHashMap的类的实例),否则不能