对于" Get-Msoldomain "powershell命令 - 让我得到以下输出(让我们称之为输出#1),其中Name,Status和Authentication是属性名称,下面是它们各自的值.
Name Status Authentication
myemail.onmicrosoft.com Verified Managed
Run Code Online (Sandbox Code Playgroud)
当我使用"ConvertTo-Json"命令时,如下所示
GetMsolDomain |ConvertTo-Json
Run Code Online (Sandbox Code Playgroud)
我以Json格式得到以下输出(让我们称之为输出#2).
{
"ExtensionData": {
},
"Authentication": 0,
"Capabilities": 5,
"IsDefault": true,
"IsInitial": true,
"Name": "myemail.onmicrosoft.com",
"RootDomain": null,
"Status": 1,
"VerificationMethod": 1
}
Run Code Online (Sandbox Code Playgroud)
但问题是,如果你注意到两个输出中的Status属性,那就不一样了.同样的情况对于VerificationMethod财产.不使用ConvertTo-JSon Powershell给出Text,并使用ConvertTo-Json给出整数.
当我给出下面的命令
get-msoldomain |Select-object @{Name='Status';Expression={"$($_.Status)"}}|ConvertTo-json
Run Code Online (Sandbox Code Playgroud)
我把输出作为
{
"Status": "Verified"
}
Run Code Online (Sandbox Code Playgroud)
但是,我想要一些东西,以便我不必指定任何特定的属性名称来进行转换,我在上面指定的方式是
Select-object @{Name='Status';Expression={"$($_.Status)"}}
Run Code Online (Sandbox Code Playgroud)
这一行只转换Status属性而不是VerificationMethod属性,因为这是我提供的输入.
问题:我是否可以为" ConvertTo-Json "命令行开关提供一些通用的东西,以便它将所有 Enum属性作为文本而不是整数返回,而不显式命名它们,以便我得到类似下面的输出:
{
"ExtensionData": {
},
"Authentication": 0,
"Capabilities": 5,
"IsDefault": true,
"IsInitial": true, …Run Code Online (Sandbox Code Playgroud) 我们在项目中使用 azure blob 存储,并将 JSON 字符串存储在 blob 容器中。出于某种目的,我们解析此 JSON 字符串以将其分解为行和列,然后显示在 UI 上的网格控件中。网格控制在客户端提供过滤、分组等功能。然而,当数据很大时,此类操作需要时间,因此 UI 变得无响应。因此,现在我们希望在服务器上执行此类操作,以便网格更快地加载来自服务器的相关数据,而不是所有行。
为此,我们认为我们需要查询 JSON 数据以进行过滤、分组、分页等,但不确定 blob 存储或任何其他云存储机制( DocumentDB )是否提供此类功能。我们可以选择使用 PostgreSQL,但我们希望主要坚持基于云的基础设施。
关于如何在 AZURE 上并使用 azure 存储(不是 Azure SQL,而是表存储、blob 存储等成本较低)查询 JSON 数据的任何想法