[英]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.