Mercurial > hg > orthanc
diff OrthancServer/FromDcmtkBridge.cpp @ 1368:b22ba8c5edbe query-retrieve
query retrieve
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 26 May 2015 17:54:34 +0200 |
parents | 0649c5aef34a |
children | 8e23f16a198d |
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.cpp Fri May 22 17:40:10 2015 +0200 +++ b/OrthancServer/FromDcmtkBridge.cpp Tue May 26 17:54:34 2015 +0200 @@ -624,7 +624,8 @@ void FromDcmtkBridge::ToJson(Json::Value& result, - const DicomMap& values) + const DicomMap& values, + bool simplify) { if (result.type() != Json::objectValue) { @@ -636,7 +637,29 @@ for (DicomMap::Map::const_iterator it = values.map_.begin(); it != values.map_.end(); ++it) { - result[GetName(it->first)] = it->second->AsString(); + if (simplify) + { + result[GetName(it->first)] = it->second->AsString(); + } + else + { + Json::Value value = Json::objectValue; + + value["Name"] = GetName(it->first); + + if (it->second->IsNull()) + { + value["Type"] = "Null"; + value["Value"] = Json::nullValue; + } + else + { + value["Type"] = "String"; + value["Value"] = it->second->AsString(); + } + + result[it->first.Format()] = value; + } } }