Json Value
Defined in framework ScanditDataCaptureCore
Warning
The deserialization API is not yet stable and will still change over the coming releases.
- SDCJSONValue
@interface SDCJSONValue : NSObject
Added in version 6.0.0
JSON representation for use with the Scandit Data Capture SDK. It provides a lot of convenience functions for deserialization of base classes. It also tracks the usage of properties to be able to later report those that were not used for deserialization (potentially because they were misspelled or are outdated).
- + JSONValueWithString:
+ (
instancetype
)JSONValueWithString:(nonnull NSString *)stringAdded in version 6.1.0
Returns a new JSON Value for the given json string. An exception is thrown if the string is not a valid JSON representation.
- - jsonString
- (nonnull NSString *)jsonString
Added in version 6.1.0
Returns the string representation of the JSON value.
- - asBOOL
- (
BOOL
)asBOOLAdded in version 6.1.0
Returns the value as a boolean. An exception is thrown if the conversion is not possible.
- - BOOLForKey:
- (
BOOL
)BOOLForKey:(nonnull NSString *)keyAdded in version 6.1.0
Returns the value for the given key as a boolean. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a boolean.
- - BOOLForKey:default:
- (
BOOL
)BOOLForKey:(nonnull NSString *)key default:(BOOL
)defaultValueAdded in version 6.1.0
Returns the value for the given key as a boolean. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a boolean.
- - asInteger
- (NSInteger)asInteger
Added in version 6.1.0
Returns the value as an integer. An exception is thrown if the conversion is not possible.
- - integerForKey:
- (NSInteger)integerForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as an integer. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not an integer.
- - integerForKey:default:
- (NSInteger)integerForKey:(nonnull NSString *)key default:(NSInteger)defaultValue
Added in version 6.1.0
Returns the value for the given key as an integer. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not an integer.
- - asCGFloat
- (CGFloat)asCGFloat
Added in version 6.1.0
Returns the value as a float. An exception is thrown if the conversion is not possible.
- - CGFloatForKey:
- (CGFloat)CGFloatForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a float. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a float.
- - CGFloatForKey:default:
- (CGFloat)CGFloatForKey:(nonnull NSString *)key default:(CGFloat)defaultValue
Added in version 6.1.0
Returns the value for the given key as a float. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a float.
- - asString
- (nonnull NSString *)asString
Added in version 6.1.0
Returns the value as a string. An exception is thrown if the conversion is not possible.
- - stringForKey:
- (nonnull NSString *)stringForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a string. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a string.
- - stringForKey:default:
- (nonnull NSString *)stringForKey:(nonnull NSString *)key default:(nonnull NSString *)defaultValue
Added in version 6.1.0
Returns the value for the given key as a string. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a string.
- - asColor
- (nonnull UIColor *)asColor
Added in version 6.1.0
Returns the value as a color. An exception is thrown if the conversion is not possible.
- - colorForKey:
- (nonnull UIColor *)colorForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a color. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a color.
- - colorForKey:default:
- (nonnull UIColor *)colorForKey:(nonnull NSString *)key default:(nonnull UIColor *)defaultValue
Added in version 6.1.0
Returns the value for the given key as a color. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a color.
- - asBrush
- (nonnull SDCBrush *)asBrush
Added in version 6.1.0
Returns the value as a SDCBrush. An exception is thrown if the conversion is not possible.
- - brushForKey:
- (nonnull SDCBrush *)brushForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a SDCBrush. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a SDCBrush.
- - brushForKey:default:
- (nonnull SDCBrush *)brushForKey:(nonnull NSString *)key default:(nonnull SDCBrush *)defaultValue
Added in version 6.1.0
Returns the value for the given key as a SDCBrush. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a SDCBrush.
- - asFloatWithUnit
- (SDCFloatWithUnit)asFloatWithUnit
Added in version 6.1.0
Returns the value as a SDCFloatWithUnit. An exception is thrown if the conversion is not possible.
- - floatWithUnitForKey:
- (SDCFloatWithUnit)floatWithUnitForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a SDCFloatWithUnit. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a SDCFloatWithUnit.
- - floatWithUnitForKey:default:
- (SDCFloatWithUnit)floatWithUnitForKey:(nonnull NSString *)key default:(SDCFloatWithUnit)defaultValue
Added in version 6.1.0
Returns the value for the given key as a SDCFloatWithUnit. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a SDCFloatWithUnit.
- - asPointWithUnit
- (SDCPointWithUnit)asPointWithUnit
Added in version 6.1.0
Returns the value as a SDCPointWithUnit. An exception is thrown if the conversion is not possible.
- - pointWithUnitForKey:
- (SDCPointWithUnit)pointWithUnitForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a SDCPointWithUnit. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a SDCPointWithUnit.
- - pointWithUnitForKey:default:
- (SDCPointWithUnit)pointWithUnitForKey:(nonnull NSString *)key default:(SDCPointWithUnit)defaultValue
Added in version 6.1.0
Returns the value for the given key as a SDCPointWithUnit. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a SDCPointWithUnit.
- - asMarginsWithUnit
- (SDCMarginsWithUnit)asMarginsWithUnit
Added in version 6.1.0
Returns the value as a SDCMarginsWithUnit. An exception is thrown if the conversion is not possible.
- - marginsWithUnitForKey:
- (SDCMarginsWithUnit)marginsWithUnitForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as a SDCMarginsWithUnit. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not a SDCMarginsWithUnit.
- - marginsWithUnitForKey:default:
- (SDCMarginsWithUnit)marginsWithUnitForKey:(nonnull NSString *)key default:(SDCMarginsWithUnit)defaultValue
Added in version 6.1.0
Returns the value for the given key as a SDCMarginsWithUnit. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not a SDCMarginsWithUnit.
- - asArray
- (nonnull SDCJSONValue *)asArray
Added in version 6.1.0
Returns the value if it is an array. An exception is thrown if the conversion is not possible.
- - arrayForKey:
- (nonnull SDCJSONValue *)arrayForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as an array. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not an array.
- - arrayForKey:default:
- (nonnull SDCJSONValue *)arrayForKey:(nonnull NSString *)key default:(nonnull SDCJSONValue *)defaultValue
Added in version 6.1.0
Returns the value for the given key as an array. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not an array.
- - count
- (NSUInteger)count
Added in version 6.1.0
The size of the array. An exception is thrown if this JSON value is not an array.
- - JSONValueAtIndex:
- (nonnull SDCJSONValue *)JSONValueAtIndex:(NSUInteger)index
Added in version 6.1.0
Returns the value for the given index. An exception is thrown if this JSON Value is not an array or the given index is out of bounds.
- - asObject
- (nonnull SDCJSONValue *)asObject
Added in version 6.1.0
Returns the value if it is an object. An exception is thrown if the conversion is not possible.
- - objectForKey:
- (nonnull SDCJSONValue *)objectForKey:(nonnull NSString *)key
Added in version 6.1.0
Returns the value for the given key as an object. An exception is thrown if this JSON Value is not an object, it does not contain a value for the given key or the value for the given key is not an object.
- - objectForKey:default:
- (nonnull SDCJSONValue *)objectForKey:(nonnull NSString *)key default:(nonnull SDCJSONValue *)defaultValue
Added in version 6.1.0
Returns the value for the given key as an object. The default value is returned if there is no value for the given key. An exception is thrown if this JSON Value is not an object or the value for the given key is not an object.
- - containsKey:
- (
BOOL
)containsKey:(nonnull NSString *)keyAdded in version 6.1.0
Returns whether a value for the given key exists. An exception is thrown if this JSON Value is not an object.
- - containsKey:
- (
BOOL
)containsKey:(nonnull NSString *)keyAdded in version 6.1.0
Returns the value for the given key. An exception is thrown if this JSON Value is not an object or it does not contain a value for the given key.
- absolutePath
@property (nonatomic, strong, readonly) NSString *absolutePath
Added in version 6.1.0
The path from the root to this JSON value.
- used
@property (nonatomic, assign, getter=isUsed)
BOOL
usedAdded in version 6.1.0
Whether this JSON value was used during deserialization.
- - asTimeinterval
- (NSTimeInterval)asTimeinterval
Added in version 6.16.0
Returns the current value as a value representing a NSTimeInterval.
- - timeintervalForKey:
- (NSTimeInterval)timeintervalForKey:(nonnull NSString *)key
Added in version 6.16.0
Returns the value for the given key as a NSTimeInterval.
- - keys
- (nonnull NSSet<NSString *> *)keys
Added in version 6.16.0
Returns the keys of the current value if any.
- - removeKeys:
- (
void
)removeKeys:(nonnull NSSet<NSString *> *)keysToRemoveAdded in version 6.16.0
Removes the given keys from the current value.
- - containsArrayWithKey:
- (
BOOL
)containsArrayWithKey:(nonnull NSString *)keyAdded in version 6.16.0
Determines whether the current value is an object and contains an array with the given key.