Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
JSONParser jp;
- if (!jp.parse(val.c_str(), val.size())) {
- /* can't parse, input is raw string */
- if (!name.empty()) {
- f->type = FMT_OBJ;
- f = &f->obj[name];
- }
- f->type = FMT_STRING;
- f->str = val;
- return 0;
- }
+ bool is_valid_json = jp.parse(val.c_str(), val.size());
for (auto i : tok) {
vector<field_entity> v;
}
}
- f->decode_json(&jp);
+ if (is_valid_json) {
+ f->decode_json(&jp);
+ } else {
+ f->type = FMT_STRING;
+ f->str = val;
+ }
return 0;
}