mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-05 00:09:32 -04:00
parent
2a9a300161
commit
a956041495
@ -475,25 +475,54 @@ bool QgsSensorThingsSharedData::processFeatureRequest( QString &nextPage, QgsFee
|
|||||||
if ( !json.contains( tag ) )
|
if ( !json.contains( tag ) )
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|
||||||
const auto &jObj = json[tag];
|
std::function< QString( const basic_json<> &obj, bool &ok ) > objToString;
|
||||||
if ( jObj.is_number_integer() )
|
objToString = [&objToString]( const basic_json<> &obj, bool & ok ) -> QString
|
||||||
{
|
{
|
||||||
return QString::number( jObj.get<int>() );
|
ok = true;
|
||||||
}
|
if ( obj.is_number_integer() )
|
||||||
else if ( jObj.is_number_unsigned() )
|
{
|
||||||
{
|
return QString::number( obj.get<int>() );
|
||||||
return QString::number( jObj.get<unsigned>() );
|
}
|
||||||
}
|
else if ( obj.is_number_unsigned() )
|
||||||
else if ( jObj.is_boolean() )
|
{
|
||||||
{
|
return QString::number( obj.get<unsigned>() );
|
||||||
return QString::number( jObj.get<bool>() );
|
}
|
||||||
}
|
else if ( obj.is_boolean() )
|
||||||
else if ( jObj.is_number_float() )
|
{
|
||||||
{
|
return QString::number( obj.get<bool>() );
|
||||||
return QString::number( jObj.get<double>() );
|
}
|
||||||
}
|
else if ( obj.is_number_float() )
|
||||||
|
{
|
||||||
|
return QString::number( obj.get<double>() );
|
||||||
|
}
|
||||||
|
else if ( obj.is_array() )
|
||||||
|
{
|
||||||
|
QStringList results;
|
||||||
|
results.reserve( obj.size() );
|
||||||
|
for ( const auto &item : obj )
|
||||||
|
{
|
||||||
|
bool itemOk = false;
|
||||||
|
const QString itemString = objToString( item, itemOk );
|
||||||
|
if ( itemOk )
|
||||||
|
results.push_back( itemString );
|
||||||
|
}
|
||||||
|
return results.join( ',' );
|
||||||
|
}
|
||||||
|
else if ( obj.is_string() )
|
||||||
|
{
|
||||||
|
return QString::fromStdString( obj.get<std::string >() );
|
||||||
|
}
|
||||||
|
|
||||||
return QString::fromStdString( json[tag].get<std::string >() );
|
ok = false;
|
||||||
|
return QString();
|
||||||
|
};
|
||||||
|
|
||||||
|
const auto &jObj = json[tag];
|
||||||
|
bool ok = false;
|
||||||
|
const QString r = objToString( jObj, ok );
|
||||||
|
if ( ok )
|
||||||
|
return r;
|
||||||
|
return QVariant();
|
||||||
};
|
};
|
||||||
|
|
||||||
auto getDateTime = []( const basic_json<> &json, const char *tag ) -> QVariant
|
auto getDateTime = []( const basic_json<> &json, const char *tag ) -> QVariant
|
||||||
|
Loading…
x
Reference in New Issue
Block a user