Замена / Удаление значения для данного ключа в динамическом c значении в Кусто - PullRequest
0 голосов
/ 10 января 2020

Есть ли в Кусто какой-либо способ, с помощью которого мы можем заменить значение для указанного ключа c внутри значения динамического c в Кусто? Либо заменить значение, либо даже удалить всю пару значений ключа, если требуется?

ОБНОВЛЕНИЕ

Скажем, у нас есть следующее значение Dynami c в таблице: -

   { 
      "SectionA":{ 
                 "Prop1":"abcd",
                 "Prop2":"efgh",
                 "Prop3":"ahd32",
                 "category":"main"
                 },
      "Num1":1.33,
      "Num2":33.8,
      "City":"New York"
    }

Теперь я хочу избавиться от пары ключ-значение для ключа Num1, чтобы в результате получилось следующее: -

   { 
      "SectionA":{ 
                 "Prop1":"abcd",
                 "Prop2":"efgh",
                 "Prop3":"ahd32",
                 "category":"main"
                 },
      "Num2":33.8,
      "City":"New York"
    }

Если это невозможно, даже следующая маскировка может также работать как решение, под маскировкой я подразумеваю, что когда ключ Num1 появляется в значении Dynami c, ему будет присвоено фиксированное значение (0 в этом примере) для всех строк: -

  { 
      "SectionA":{ 
                 "Prop1":"abcd",
                 "Prop2":"efgh",
                 "Prop3":"ahd32",
                 "category":"main"
                 },
      "Num1":0,
      "Num2":33.8,
      "City":"New York"
    }

Значением может быть любая строка или число, здесь в этом примере я использовал число, но это может быть что угодно.

1 Ответ

1 голос
/ 10 января 2020

Обновление:

let t = datatable(mystring:string)
[
'
{     "SectionA":{ 
                 "Prop1":"abcd",
                 "Prop2":"efgh",
                 "Prop3":"ahd32",
                 "category":"main"
                 },
      "Num1":180,           
      "Num2":33.8,
      "City":"New York"
}
'
];
t
| project myjson = parse_json(mystring)
| project Num2=tostring(myjson.Num2), City=tostring(myjson.City), SectionA=tostring(myjson.SectionA)
| extend newColumn=strcat("\"City\":","\"",City,"\", \"Num2\":","", Num2,", \"SectionA\":","", SectionA) 

Результат:

enter image description here


Пожалуйста, попробуйте код ниже, чтобы увидеть, может ли он решить проблему:

let t = datatable(mystring:string)
[
'
{     "SectionA":{ 
                 "Prop1":"abcd",
                 "Prop2":"efgh",
                 "Prop3":"ahd32",
                 "category":"main"
                 },
      "Num1":180,           
      "Num2":33.8,
      "City":"New York"
}
'
];
t
| project myjson = parse_json(mystring)
| project Num2=tostring(myjson.Num2), City=tostring(myjson.City), SectionA=tostring(myjson.SectionA)

Результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...