aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs30
1 files changed, 29 insertions, 1 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs
index 5172b34..3017176 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs
@@ -1,11 +1,39 @@
using System.Text.Json;
-using CrupestApi.Commons.Crud;
using Microsoft.Extensions.Options;
namespace CrupestApi.Commons;
public static class CrupestApiJsonExtensions
{
+ public static object? CheckJsonValueNotArrayOrObject(this JsonElement value)
+ {
+ if (value.ValueKind == JsonValueKind.Null && value.ValueKind == JsonValueKind.Undefined)
+ {
+ return null;
+ }
+ else if (value.ValueKind == JsonValueKind.True)
+ {
+ return true;
+ }
+ else if (value.ValueKind == JsonValueKind.False)
+ {
+ return false;
+ }
+ else if (value.ValueKind == JsonValueKind.Number)
+ {
+ return value.GetDouble();
+ }
+ else if (value.ValueKind == JsonValueKind.String)
+ {
+ return value.GetString();
+ }
+ else
+ {
+ throw new Exception("Only value not array or object is allowed.")
+ }
+ }
+
+
public static IServiceCollection AddJsonOptions(this IServiceCollection services)
{
services.AddOptions<JsonSerializerOptions>();