JsonObject 类

定义

表示包含名称和 JsonValue 对集合的 JSON 对象。

JsonObject 是一个可激活的类,它实现 JsonValueIMap<String,IJsonValue> 接口,以便可以像字典一样操作其名称/值对。 当存在名称重复的值时,将存储姓氏/值对。

public ref class JsonObject sealed : IIterable<IKeyValuePair<Platform::String ^, IJsonValue ^> ^>, IMap<Platform::String ^, IJsonValue ^>, IStringable
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class JsonObject final : IIterable<IKeyValuePair<winrt::hstring, IJsonValue const&>>, IMap<winrt::hstring, IJsonValue const&>, IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class JsonObject final : IIterable<IKeyValuePair<winrt::hstring, IJsonValue const&>>, IMap<winrt::hstring, IJsonValue const&>, IStringable
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class JsonObject : IDictionary<string,IJsonValue>, IEnumerable<KeyValuePair<string,IJsonValue>>, IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class JsonObject : IDictionary<string,IJsonValue>, IEnumerable<KeyValuePair<string,IJsonValue>>, IStringable
Public NotInheritable Class JsonObject
Implements IDictionary(Of String, IJsonValue), IEnumerable(Of KeyValuePair(Of String, IJsonValue)), IStringable
继承
Object Platform::Object IInspectable JsonObject
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

有关如何使用这些类方法分析 JSON 字符串中的对象并将其转换为 JsonObject 对象、更新对象包含的名称/值对,然后将更新后的 JsonObject 对象序列化为 JSON 字符串的示例,请参阅 使用 JavaScript 对象表示法 (JSON)

构造函数

JsonObject()

初始化 JsonObject 的新实例,该实例表示包含名称和 JsonValue 对集合的 JSON 对象。

属性

Size

获取集合的大小 (计数) 。

ValueType

获取封装的 JSON 值的类型。 可能的类型由 JsonValueType 定义。

方法

Clear()

从集合中移除所有项。

First()

返回用于对 JsonObject 中的键/值对进行迭代的迭代器。

GetArray()

如果封装的 ValueTypeArray,则返回 JsonArray

GetBoolean()

如果封装值的 ValueType布尔值,则获取布尔值

GetNamedArray(String)

获取具有指定名称的 JsonArray 值。

GetNamedArray(String, JsonArray)

获取具有指定名称的 JsonArray 值,如果未找到此类命名值,则获取提供的默认值。

GetNamedBoolean(String)

获取具有指定名称的 布尔 值。

GetNamedBoolean(String, Boolean)

获取具有指定名称的 布尔 值,如果未找到此类命名值,则获取提供的默认值。

GetNamedNumber(String)

获取具有指定名称的 Double) (数字值。

GetNamedNumber(String, Double)

获取具有指定名称的 Double) (数字值;如果未找到此类命名值,则获取提供的默认值。

GetNamedObject(String)

获取具有指定名称的 JsonObject 值。

GetNamedObject(String, JsonObject)

获取具有指定名称的 JsonObject 值,如果未找到此类命名值,则获取提供的默认值。

GetNamedString(String)

获取具有指定名称的 String 值。

GetNamedString(String, String)

获取具有指定名称的 String 值;如果未找到此类命名值,则获取提供的默认值。

GetNamedValue(String)

获取具有指定名称的 JsonValue 值。

GetNamedValue(String, JsonValue)

获取指定的 JsonValue 值,如果未找到此类命名值,则获取提供的默认值。

GetNumber()

如果封装的 ValueType 为 Number,则获取 Double) (数字

GetObject()

如果封装的 ValueTypeObject,则获取 JsonObject

GetString()

如果封装的 ValueTypeString,则获取 String

GetView()

获取 JsonObject 视图。

HasKey(String)

指示 JsonObject 是否具有包含所请求密钥的条目。

Insert(String, IJsonValue)

JsonObject 添加新条目。

Lookup(String)

获取与提供的键关联的 JSON 值(如果存在具有该键的条目)。

Parse(String)

将表示 JsonObject 的指定 JSON 字符串分析为 JSON 值。

注意

如果提供的 JSON 字符串无效,则会引发异常。 建议使用 JsonObject.TryParseTryParse 调用将返回一个布尔值,指示成功或失败,如果成功,则返回生成的 JsonObject

Remove(String)

JsonObject 中删除特定项。

SetNamedValue(String, IJsonValue)

将具有指定名称的第一个 JsonValue 对象的值设置为指定值。 如果未找到此类对象,则会在 JSON 对象中插入新名称和 JsonValue 对。

Stringify()

检索封装值的 JSON 表示形式。

ToString()

检索封装值的 JSON 表示形式。

TryParse(String, JsonObject)

将表示 JSON 对象的指定字符串分析为 JsonObject

适用于

另请参阅