QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Static Public Member Functions | List of all members
QgsJsonUtils Class Reference

Helper utilities for working with JSON and GeoJSON conversions. More...

#include <qgsjsonutils.h>

Static Public Member Functions

static Q_INVOKABLE QString encodeValue (const QVariant &value)
 Encodes a value to a JSON string representation, adding appropriate quotations and escaping where required. More...
 
static QString exportAttributes (const QgsFeature &feature, QgsVectorLayer *layer=nullptr, const QVector< QVariant > &attributeWidgetCaches=QVector< QVariant >())
 Exports all attributes from a QgsFeature as a JSON map type. More...
 
static json exportAttributesToJsonObject (const QgsFeature &feature, QgsVectorLayer *layer=nullptr, const QVector< QVariant > &attributeWidgetCaches=QVector< QVariant >())
 Exports all attributes from a QgsFeature as a json object. More...
 
static QgsGeometry geometryFromGeoJson (const json &geometry)
 Parses a GeoJSON "geometry" value to a QgsGeometry object. More...
 
static QgsGeometry geometryFromGeoJson (const QString &geometry)
 Parses a GeoJSON "geometry" value to a QgsGeometry object. More...
 
static json jsonFromVariant (const QVariant &v)
 Converts a QVariant v to a json object. More...
 
static QVariant jsonToVariant (const json &value)
 Converts a JSON value to a QVariant, in case of parsing error an invalid QVariant is returned. More...
 
static Q_INVOKABLE QVariantList parseArray (const QString &json, QVariant::Type type=QVariant::Invalid)
 Parse a simple array (depth=1) More...
 
static QVariant parseJson (const QString &jsonString)
 Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned. More...
 
static QVariant parseJson (const std::string &jsonString)
 Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned and an error is logged to the message log. More...
 
static QVariant parseJson (const std::string &jsonString, QString &error)
 Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned and the error argument is populated accordingly. More...
 
static QgsFeatureList stringToFeatureList (const QString &string, const QgsFields &fields=QgsFields(), QTextCodec *encoding SIP_PYARGREMOVE6=nullptr)
 Attempts to parse a GeoJSON string to a collection of features. More...
 
static QgsFields stringToFields (const QString &string, QTextCodec *encoding SIP_PYARGREMOVE6=nullptr)
 Attempts to retrieve the fields from a GeoJSON string representing a collection of features. More...
 

Detailed Description

Helper utilities for working with JSON and GeoJSON conversions.

Definition at line 302 of file qgsjsonutils.h.

Member Function Documentation

◆ encodeValue()

QString QgsJsonUtils::encodeValue ( const QVariant &  value)
static

Encodes a value to a JSON string representation, adding appropriate quotations and escaping where required.

Parameters
valuevalue to encode
Returns
encoded value

Definition at line 281 of file qgsjsonutils.cpp.

◆ exportAttributes()

QString QgsJsonUtils::exportAttributes ( const QgsFeature feature,
QgsVectorLayer layer = nullptr,
const QVector< QVariant > &  attributeWidgetCaches = QVector<QVariant>() 
)
static

Exports all attributes from a QgsFeature as a JSON map type.

Parameters
featurefeature to export
layeroptional associated vector layer. If specified, this allows richer export utilising settings like the layer's fields widget configuration.
attributeWidgetCachesoptional widget configuration cache. Can be used to speed up exporting the attributes for multiple features from the same layer.

Definition at line 318 of file qgsjsonutils.cpp.

◆ exportAttributesToJsonObject()

json QgsJsonUtils::exportAttributesToJsonObject ( const QgsFeature feature,
QgsVectorLayer layer = nullptr,
const QVector< QVariant > &  attributeWidgetCaches = QVector<QVariant>() 
)
static

Exports all attributes from a QgsFeature as a json object.

Parameters
featurefeature to export
layeroptional associated vector layer. If specified, this allows richer export utilising settings like the layer's fields widget configuration.
attributeWidgetCachesoptional widget configuration cache. Can be used to speed up exporting the attributes for multiple features from the same layer.
Note
Not available in Python bindings
Since
QGIS 3.8

Definition at line 896 of file qgsjsonutils.cpp.

◆ geometryFromGeoJson() [1/2]

QgsGeometry QgsJsonUtils::geometryFromGeoJson ( const json &  geometry)
static

Parses a GeoJSON "geometry" value to a QgsGeometry object.

Returns a null geometry if the geometry could not be parsed.

Note
Not available in Python bindings.
Since
QGIS 3.36

Definition at line 689 of file qgsjsonutils.cpp.

◆ geometryFromGeoJson() [2/2]

QgsGeometry QgsJsonUtils::geometryFromGeoJson ( const QString &  geometry)
static

Parses a GeoJSON "geometry" value to a QgsGeometry object.

Returns a null geometry if the geometry could not be parsed.

Since
QGIS 3.36

Definition at line 700 of file qgsjsonutils.cpp.

◆ jsonFromVariant()

json QgsJsonUtils::jsonFromVariant ( const QVariant &  v)
static

Converts a QVariant v to a json object.

Note
Not available in Python bindings
Since
QGIS 3.8

Definition at line 714 of file qgsjsonutils.cpp.

◆ jsonToVariant()

QVariant QgsJsonUtils::jsonToVariant ( const json &  value)
static

Converts a JSON value to a QVariant, in case of parsing error an invalid QVariant is returned.

Note
Not available in Python bindings
Since
QGIS 3.36

Definition at line 797 of file qgsjsonutils.cpp.

◆ parseArray()

QVariantList QgsJsonUtils::parseArray ( const QString &  json,
QVariant::Type  type = QVariant::Invalid 
)
static

Parse a simple array (depth=1)

Parameters
jsonthe JSON to parse
typeoptional variant type of the elements, if specified (and not Invalid), the array items will be converted to the type, and discarded if the conversion is not possible.

Definition at line 342 of file qgsjsonutils.cpp.

◆ parseJson() [1/3]

QVariant QgsJsonUtils::parseJson ( const QString &  jsonString)
static

Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned.

Note
Not available in Python bindings
Since
QGIS 3.8

Definition at line 891 of file qgsjsonutils.cpp.

◆ parseJson() [2/3]

QVariant QgsJsonUtils::parseJson ( const std::string &  jsonString)
static

Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned and an error is logged to the message log.

Note
Not available in Python bindings
Since
QGIS 3.8

Definition at line 769 of file qgsjsonutils.cpp.

◆ parseJson() [3/3]

QVariant QgsJsonUtils::parseJson ( const std::string &  jsonString,
QString &  error 
)
static

Converts JSON jsonString to a QVariant, in case of parsing error an invalid QVariant is returned and the error argument is populated accordingly.

Note
Not available in Python bindings
Since
QGIS 3.24

Definition at line 782 of file qgsjsonutils.cpp.

◆ stringToFeatureList()

QgsFeatureList QgsJsonUtils::stringToFeatureList ( const QString &  string,
const QgsFields fields = QgsFields(),
QTextCodec *encoding  SIP_PYARGREMOVE6 = nullptr 
)
static

Attempts to parse a GeoJSON string to a collection of features.

It is possible to specify fields to parse specific fields, if not provided, no fields will be included. An encoding can be specified which defaults to UTF-8 if it is nullptr.

Returns
a list of parsed features, or an empty list if no features could be parsed
See also
stringToFields()
Note
this function is a wrapper around QgsOgrUtils::stringToFeatureList()

Definition at line 265 of file qgsjsonutils.cpp.

◆ stringToFields()

QgsFields QgsJsonUtils::stringToFields ( const QString &  string,
QTextCodec *encoding  SIP_PYARGREMOVE6 = nullptr 
)
static

Attempts to retrieve the fields from a GeoJSON string representing a collection of features.

An encoding can be specified which defaults to UTF-8 if it is nullptr.

Returns
retrieved fields collection, or an empty list if no fields could be determined from the string
See also
stringToFeatureList()
Note
this function is a wrapper around QgsOgrUtils::stringToFields()

Definition at line 273 of file qgsjsonutils.cpp.


The documentation for this class was generated from the following files: