簡體   English   中英

NewtonSoft JSON解析失敗,因為JSON模式具有作為箭頭功能的值,且不包含引號

[英]NewtonSoft JSON Parsing fails, since JSON Schema has a value as arrow function without quotes enclosed

我寫了一個ASP.NET Core REST API。 終點返回JSON。 API會從文件中解析紅色的JSON模式。 JSON模式具有以下箭頭功能的某些值。

Newtonsoft無法解析JSON模式,而沒有以下驗證消息中的箭頭功能中的引號。

      "ip": {
        "$id": "#/properties/ip",
        "type": "string",
        "title": "The Ip Schema",
        "default": "",
        "examples": [
          "111.123.789.654"
        ],
        "pattern": "^(\\d{1,3}\\.){3}\\d{1,3}$",
        "widget": {
          "formlyConfig": {
            "validation": {
              "messages": {
                "pattern": (error, field: FormlyFieldConfig) => `${ field.formControl.value } is not a valid IP Address`
              }
            }
          }
        }
      }

由於JSON無效,因此以下C#代碼失敗。

 var wraperobject = JObject.Parse(ui_schema);

如果我添加如下所示的引號,則解析有效。 我需要將其發送到不帶引號的UI,否則所有消費者都需要在客戶端進行操作。

請給我一個解決方案。

  "ip": {
    "$id": "#/properties/ip",
    "type": "string",
    "title": "The Ip Schema",
    "default": "",
    "examples": [
      "111.123.789.654"
    ],
    "pattern": "^(\\d{1,3}\\.){3}\\d{1,3}$",
    "widget": {
      "formlyConfig": {
        "validation": {
          "messages": {
            "pattern": "(error, field: FormlyFieldConfig) => `${ field.formControl.value } is not a valid IP Address`"
          }
        }
      }
    }
  }

JSON應該具有箭頭功能,並帶有引號。

我可以將其作為字符串發送,但是需要轉義整個JSON以使其成為字符串。 UI端JSON解析完成。

請讓我知道是否有最佳選擇。

JSON屬性的值可以是 :對象,數組,字符串,數字,“ true”,“ false”或“ null”之一。

“模式”的值不屬於那些

"pattern": (error, field: FormlyFieldConfig) => `${ field.formControl.value } is not a valid IP Address`

由於該值對於JSON無效,因此JSON.Net(或任何其他解析器)無法解釋它。

引用值時,它變成有效的字符串,這就是解析器可以處理它的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM