Shambhoo kumar Ответов: 0

Как разобрать соответствующие(регулярные выражения) данные в формате json


Привет, ребята, у меня есть проблема, связанная с разбором регулярных выражений.

вот требование, сопоставьте строковые данные через регулярное выражение и преобразуйте соответствующие данные в формат JSON

у меня есть данные в строковом формате ниже, и мне нужно разобрать соответствующие данные в json

PC : 10%  Mat PC : 10%  DN : 20%
PC : 10%  Mat PC : 10%  OP Mat : 10%
PC : 10%  Mat PC : 10%  PH : 10%
PC : 10%  Mat PC : 10%  PH : 20%
PC : 10%  Mat PC : 10%  PH : 20% DN : 20%
PC : 10%  Mat PC : 10%  PH : 30%
PC : 10%  Mat PC : 10%  PH : 30%  DN : 20%
PC : 10%  Mat PC : 10%  PH : 30%  OP Mat : 10%

ожидаемый результат в следующем формате
[
{
"PC":"10%",
"Mat PC":"10%",
"DN":"20%"
},
{
"PC":"10%",
"Mat":"10%",
"OP Mat":"10%"
},
{
"PC":"10%",
"Mat PC":"10%",
"PH":"20%"
},
{
"PC":"10%",
"Mat PC":"10%",
"PH":"20%"
}]


Что я уже пробовал:

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

(([a-zA-Z \+\.\&\/]+)(?=:)|((?&ЛТ;=:)[0-9 ]+(?=%))|(?<=[0-9])%)

этот шаблон отлично работает на сопоставлении данных (любой оптимизированный шаблон регулярных выражений будет оценен по достоинству), первая часть, которую я выполнил, чтобы сопоставить данные через шаблон регулярных выражений, но я не знаю, как разобрать то же самое в формате json через регулярное выражение.

OriginalGriff

И в чем же заключается ваш вопрос?
Если это "работает идеально", то какая помощь вам нужна?

Shambhoo kumar

Привет, Грифф, Спасибо за твой комментарий.

Вопрос заключается в том, чтобы "преобразовать соответствующие данные в формат json с помощью регулярных выражений".

Dave Kreskowiak

Это не вопрос. С какой частью этого у тебя проблемы?

Это разбор существующих данных? Представляет ли он данные в вашем коде? Это сериализация данных в json? Что?

F-ES Sitecore

Используйте метод regex class' Matches', чтобы вернуть коллекцию совпадающих хитов, а затем обработать их один за другим, построив свою строку json. Если формат данных всегда один и тот же (одни и те же свойства), то может быть проще построить коллекцию объектов с этими свойствами и сериализовать эту коллекцию в JSON.


https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex?view=netframework-4.8

Shambhoo kumar

Привет Ф-Эс, Спасибо за ваш ответ, это то решение, которое я искал, оно работает отлично.

0 Ответов