QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
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 json jsonFromVariant (const QVariant &v)
 Converts a QVariant v to a json object. 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=nullptr)
 Attempts to parse a GeoJSON string to a collection of features. More...
 
static QgsFields stringToFields (const QString &string, QTextCodec *encoding=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.

Since
QGIS 2.16

Definition at line 286 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 271 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 308 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 556 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 401 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.
Since
QGIS 3.0

Definition at line 332 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 551 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 456 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 469 of file qgsjsonutils.cpp.

◆ stringToFeatureList()

QgsFeatureList QgsJsonUtils::stringToFeatureList ( const QString &  string,
const QgsFields fields = QgsFields(),
QTextCodec *  encoding = 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 255 of file qgsjsonutils.cpp.

◆ stringToFields()

QgsFields QgsJsonUtils::stringToFields ( const QString &  string,
QTextCodec *  encoding = 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 263 of file qgsjsonutils.cpp.


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