2014-01-24 1 views
0

у меня есть строка JSON выглядитСинтаксический конкретных JSON объекта с регулярным выражением

{

"someKey": [], 
"aKey": { 
    "someKey": "some value", 
    "someOtherKey": "some other value", 
    ... 
}, 
"anotherKey": [], 
"module": [{ 
    "someOtherKey": "some other value", 
    "specificKey": "specific value",//here is the key and value couple i know 
    "someOtherKey": "some other value" 
}, { 
    "someOtherKey": "some other value", 
    "someOtherKey": "some other value", 
    "someOtherKey": "some other value" 
}], 
"somekey": "someValue", 
"someOtherkey": [] } 

мне нужно регулярные выражения, которые должны возвращать только объекты, как это:

{ «someOtherKey»: «некоторое другое значение», «specificKey»: «конкретное значение», «someOtherKey»: «некоторое другое значение» }

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

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

Я попытался это:

(\{.*,"specificKey":"specific value",.*\}*) 

но он вернулся мне THW всю строку JSON .. Любая помощь? Спасибо заранее!

ОБНОВЛЕНИЕ Если возможно с beanshell, я также могу использовать его. Я использую JMeter и должен разбирать ответ, чтобы создать другой ответ.

+0

Мне любопытно, почему это должно быть сделано с помощью регулярного выражения? – plalx

+3

Regex не подходит для разбора JSON. Используйте правильный инструмент для работы - используйте парсер JSON! – RaviH

+0

Я использую JMeter и не могу решить проблему с beanshell. – DonkeyKong

ответ

0

Есть ли какие-либо конкретные причины не использовать JSON Path Extractor Плагин JMeter?

Если у вас нет ограничений, таких как «Vanilla JMeter без каких-либо плагинов», вы можете скачать «Дополнительно с набором Libs» от JMeter Plugins download page.

Для справки можно использовать this guide (прокрутите вниз до Parsing JSON)