Was ist der einfachste Weg, dieses Problem zu lösen, wenn ich JsonSerializer.Deserialize nicht verwenden kann, weil ich in dieser Zeile immer eine Ausnahme erhalte (in meinem Projekt in Visual Studio Code ist es Zeile 444):
Code: Select all
FunctionExecutionContext context = JsonSerializer.Deserialize(await req.ReadAsStringAsync());
Code: Select all
using System;
using System.Threading.Tasks;
using System.Text.Json;
using System.Collections.Generic;
using PlayFab;
using PlayFab.AdminModels;
using System.IO;
using System.Net;
using PlayFab.Samples;
using System.Linq;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
namespace My.Functions
{
public class Result
{
public bool FunctionSuccessful { get; set; }
public string Errorline1 { get; set; }
public string Errorline2 { get; set; }
public string Errorline3 { get; set; }
public string Errorline4 { get; set; }
public string Errorline5 { get; set; }
public string Errorline6 { get; set; }
public bool Isexpired { get; set; }
public bool Isbanned { get; set; }
public bool Zummenuweiterleitenmoeglich { get; set; }
public string Entityid { get; set; }
public string Entitytype { get; set; }
public string Playersessionticket { get; set; }
public string Playfabid { get; set; }
public DateTime Playersessionticketexpdate { get; set; }
}
public class NewFunction
{
private readonly ILogger log;
public NewFunction(ILogger logger)
{
log = logger;
}
[Function("DeleteAccountSendEmail")]
public async Task DeleteAccountSendEmail(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestData req)
{
FunctionExecutionContext context = JsonSerializer.Deserialize(await req.ReadAsStringAsync());
var args = context.FunctionArgument;
string language = args["Language"];
log.LogInformation($"MyLanguage = {language}");
string loginemail = args["Loginemail"];
log.LogInformation($" = {loginemail}");
bool updateaccountrecsuccessful = false;
string errorline1 = string.Empty;
string errorline2 = string.Empty;
string errorline3 = string.Empty;
string errorline4 = string.Empty;
string errorline5 = string.Empty;
string errorline6 = string.Empty;
bool isbanned = false;
bool isexpired = false;
log.LogInformation($"FunctionSuccessful: = {updateaccountrecsuccessful}");
var result1 = new Result
{
FunctionSuccessful = updateaccountrecsuccessful,
Errorline1 = string.Empty,
Errorline2 = string.Empty,
Errorline3 = string.Empty,
Errorline4 = string.Empty,
Errorline5 = string.Empty,
Errorline6 = string.Empty,
Isexpired = isexpired,
Isbanned = isbanned
};
var res1 = req.CreateResponse(HttpStatusCode.OK);
res1.Headers.Add("Content-Type", "application/json");
await res1.WriteStringAsync(JsonSerializer.Serialize(result1));
return res1;
}
}
}
Die Eingabe enthält keine JSON-Tokens. Es wurde erwartet, dass die Eingabe mit einem gültigen JSON-Token beginnt, wenn isFinalBlock „true“ ist. Zeilennummer: 0 | BytePositionInLine: 0.
Ergebnis: Fehlertyp: Ausnahme: System.Text.Json.JsonException: Die Eingabe enthält keine JSON-Token. Es wurde erwartet, dass die Eingabe mit einem gültigen JSON-Token beginnt, wenn isFinalBlock „true“ ist. Pfad: $ | Zeilennummer: 0 | BytePositionInLine: 0. ---> System.Text.Json.JsonReaderException: Die Eingabe enthält keine JSON-Token. Es wurde erwartet, dass die Eingabe mit einem gültigen JSON-Token beginnt, wenn isFinalBlock „true“ ist. Zeilennummer: 0 | BytePositionInLine: 0. bei System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resources, Byte nextByte, ReadOnlySpan
Code: Select all
1 bytes) at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.Serialization.JsonConverterCode: Select all
1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpanCode: Select all
1 jsonTypeInfo, NullableCode: Select all
1 json, JsonTypeInfoCode: Select all
1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpanCode: Select all
1 jsonTypeInfo, NullableCode: Select all
1 json, JsonTypeInfo
Mobile version