Class: QgsJsonUtils

class qgis.core.QgsJsonUtils

Bases: sip.wrapper

Helper utilities for working with JSON and GeoJSON conversions.

Methods

encodeValue

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

exportAttributes

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

parseArray

Parse a simple array (depth=1).

stringToFeatureList

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

stringToFields

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

encodeValue(value: Any) → str

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

Parameters

value (Any) – value to encode

Return type

str

Returns

encoded value

exportAttributes(feature: QgsFeature, layer: QgsVectorLayer = None, attributeWidgetCaches: Iterable[Any] = []) → str

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

Parameters
  • feature (QgsFeature) – feature to export

  • layer (QgsVectorLayer = None) – optional associated vector layer. If specified, this allows richer export utilising settings like the layer’s fields widget configuration.

  • attributeWidgetCaches (Iterable[Any] = []) – optional widget configuration cache. Can be used to speed up exporting the attributes for multiple features from the same layer.

Return type

str

parseArray(json: str, type: QVariant.Type) → List[Any]

Parse a simple array (depth=1).

Parameters
  • json (str) – the JSON to parse

  • type (QVariant.Type) – the type of the elements

New in version 3.0.

Return type

List[Any]

stringToFeatureList(string: str, fields: QgsFields, encoding: QTextCodec) → object

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

Parameters
  • string (str) – GeoJSON string to parse

  • fields (QgsFields) – fields collection to use for parsed features

  • encoding (QTextCodec) – text encoding

Return type

object

Returns

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()

stringToFields(string: str, encoding: QTextCodec) → QgsFields

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

Parameters
  • string (str) – GeoJSON string to parse

  • encoding (QTextCodec) – text encoding

Return type

QgsFields

Returns

retrieved fields collection, or an empty list if no fields could be determined from the string

Note

this function is a wrapper around QgsOgrUtils.stringToFields()