我正在尝试将 JObject 中的数组读取到 string[] 中,但我不知道怎么做。
代码非常简单,如下所示,但不起作用。Fails with error cannot convert JToken to string[]
JObject Items = jsonSerializer.Deserialize<JObject>(jtr);
string[] brands = null;
brands = (string[])Items.SelectToken("Documents[0].Brands");
Run Code Online (Sandbox Code Playgroud)
当我想阅读一个简单的 bool 时,以下内容有效,所以我知道我在正确的地方。
IsAdmin = (bool)Items.SelectToken("Documents[0].IsAdmin");
Run Code Online (Sandbox Code Playgroud)
Documents[0] 中的 JObject 如下所示
{
"id": "961AA6A6-F372-ZZZZ-1270-ZZZZZ",
"ApiKey": "SDKTest",
"ConsumerName": "SDKTest",
"IsAdmin": false,
"Brands": [
"ZZZ"
],
"IsSdkUser": true
}
Run Code Online (Sandbox Code Playgroud)
如何将 Brands 数组读入我的 string[] 品牌中?
我在我的应用程序中使用BT设备时收到此错误消息,该设备按预期工作,并且没有任何问题与它通信,所有功能也按预期工作,所以我不知道为什么我收到此消息.
我可以放心地忽略这个,还是一个可能会在以后咬我的定时炸弹?
我试图稍后将数据发送到 azure 事件中心以供流分析和 PowerBI 使用。
当我测试事件中心时,我的 C# 应用程序正在发送一个简单的测试字符串(JSON 格式),但是当我想要处理事件中心中的数据时,它告诉我没有发送任何数据。
我不确定如何调试集线器以查看为什么消息不显示,我尝试在 google 上查找调试文档,但在搜索调试 azure 事件集线器时没有找到任何内容
我如何找到与此相关的任何错误消息?
为了测试目的,我的 C# 代码被简化为这样
private async Task SendMessageToEventHub(string messageToSend)
{
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName
};
eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
try
{
await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(messageToSend)));
} catch (Exception exception) {
_logger.LogInformation($"-PimLog- -ProductInfoController- {DateTime.Now}, > Exception: {exception.Message} ");
}
_logger.LogInformation($"-PimLog- -ProductInfoController- {DateTime.Now}, EventHub Message Sent Successfully ");
}
Run Code Online (Sandbox Code Playgroud)
我确实看到了“消息发送成功”的日志消息,因此没有明显的错误。
当我尝试在天蓝色门户中运行查询时,我收到以下消息
There is no data from input 'pimhub'. Please make sure the input source has …Run Code Online (Sandbox Code Playgroud) 我有一个简单的 Azure V1 函数,它用作 CosmosDB 触发器,每次我插入文档时,触发器都会工作并完成,App Insights 和 Azure 控制台中 Function App 本身的监视器日志显示它触发 1 次,代码的结果显示它触发了 1 次,但流控制台向我显示了重复的输出,这是设计使然还是我做错了什么?
这是功能
using System.Collections.Generic;
using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using System;
using System.Threading.Tasks;
namespace NWCloudTransactionEventHandler
{
public static class Function1
{
[FunctionName("Function1")]
public static async Task RunAsync([CosmosDBTrigger(
databaseName: "xxx",
collectionName: "xxx",
ConnectionStringSetting = "xxx",
LeaseCollectionName = "leases", LeaseCollectionPrefix = "cloud")]IReadOnlyList<Document> documents, TraceWriter log)
{
if (documents != null && documents.Count > 0)
{
log.Info("Start change …Run Code Online (Sandbox Code Playgroud) 我正在使用以下 graphql 列出所有集合中的所有产品,我现在尝试将其修改为仅列出单个集合中的产品,我已经知道集合 ID,但我无法弄清楚将其放在哪里以便进行过滤集合 ID。
{
shop {
collections(first: 10) {
edges {
node {
id
description
products(first: 250) {
edges {
node {
id
description
variants(first: 10) {
edges {
node {
id
sku
price
selectedOptions {
name
value
}
}
}
}
}
}
}
}
cursor
}
pageInfo {
hasNextPage
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的应用程序中使用 AAD 身份验证,当我在 VS 中本地运行它时它工作正常并且我可以登录,但是当我将它发布到 azure 应用程序服务并尝试访问该应用程序时,我收到错误消息,回复 -到 URL 不匹配。
这是我的 appsettings.json 部分
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "xxxxx.me",
"TenantId": "xxxxx",
"ClientId": "xxxx",
"CallbackPath": "/signin-oidc",
"ClientSecret": "xxxxx",
"AppIDURL": "https://xxxxx.me/yyyyyBackend",
"ConfigView": "MVC"
Run Code Online (Sandbox Code Playgroud)
在应用程序注册中,我添加了回复 URL,它是来自 appservice 的应用程序 URL,我还添加了
https://xxxxx.me/yyyyyBackend/signin-oidc
Run Code Online (Sandbox Code Playgroud)
但两者都不起作用所以我现在有点困惑
我必须添加另一个回复 URL 吗?
* 编辑 *
使用 fiddler 并在应用程序尝试进行身份验证时查看回调 URL 后,发现它发送以下重定向 URL
https://xxx.azurewebsites.net/.auth/login/aad/callback
Run Code Online (Sandbox Code Playgroud)
我没有在我的项目中指定 /.auth/login/aad/callback ,如果我在 VS 中搜索整个项目,该字符串不会出现在任何地方,所以我完全不知道它为什么发送该重定向 URL?它永远不会工作,因为我的代码中没有任何地方
将该 URL 添加到我在 appservice 中的回复 URL 后,我在部署时收到以下错误消息
You do not have permission to view this directory or page.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下查询来查看数据库中是否有重复项
SELECT c.VariantNo, count(1) AS jongel FROM c where c.brand = 'XXXX' AND c.Consumer = 'XXX_V2' GROUP BY c.VariantNo HAVING jongel > 1
Run Code Online (Sandbox Code Playgroud)
但我收到接近 HAVING 的语法错误
如果我有多个具有相同 VariantNo 的文档,我如何才能找到?
c# ×4
azure ×3
arrays ×1
graphql ×1
json ×1
json.net ×1
objective-c ×1
shopify ×1
shopify-app ×1