c# - 为什么 JArray.Parse(json_array) 在结果前给我“{”?
问题描述
为什么 JArray.Parse(json_array) 在结果前给我“{”?(就像一个物体)我错过了什么?
string _s = "[{\"person\": { \"b2b_pid\": \"157\"} }]";
JArray _j = JArray.Parse(_s);
_j 返回:
{[
{
"person": {
"b2b_pid": "157"
}
}
]
}
解决方案
string _s = "[{\"person\": { \"b2b_pid\": \"157\"} }]";
仅仅因为您没有传递语法正确的 json 对象。在某些情况下,数组不能是 json 对象的根,即使您的 json 对象中只有一个数组,您也必须使用字典来包装数组。
PS:我注意到有一个新的标准支持array top lier。但是,请注意代码兼容性。
C# 语句JArray.Parse(_s);
足够智能,可以尝试在缺少密钥时修复您的 json 问题。
推荐阅读
- python-2.7 - Matplotlib:如何在多行上对齐文本
- sprite-kit - 在 SpriteKit 中的自定义类上使用 Codable 协议
- alexa - alexa - 捕获未在自定义类型中定义的值
- asp.net - HttpContext.SignOutAsync() 不删除本地 cookie
- java - 如何在同一控制器 JavaFX 中制作弹出菜单?
- firefox-developer-edition - 复制/粘贴在 Firefox 开发者版中偶尔出现
- global-variables - 如何在一个 defrule 中定义一个全局变量并在 CLIPS 的另一个 defrule 中使用它?
- ionic2 - 检查应用程序是否正在使用 DevAPP
- amazon-s3 - 7TB 文件夹上的 aws s3 同步永远挂起
- html - 如何使输入框在形式上变得平行或相等?