所以,我的文件中有 json 数据,这些数据目前是从服务器获取的。
这是我文件格式的一部分
[{"Table":"Starters","Label":"Starters","Columns":[{"Field":"Desc","Display":"Description",{"Field":"Name","Display":"Starter Name",},
{"Table":"Main","Label":"Main Course","Columns":[{"Field":"Desc","Display:"Description",{"Field":"Name","Display":"Main Course Name",}
对于代码
public static void getTables(){
var path = HttpContext.Current.Server.MapPath(String.Format("{0}", ConfigurationManager.AppSettings["path"]));
using (StreamReader file =
File.OpenText(path))
using (JsonTextReader reader =
new JsonTextTeader(file)){
JValue obj =
(JValue)JToken.ReadFrom(reader);
}
}
这是代码的一部分。有很多表,我只需要将附加到列表或字典的表名和标签。你能帮忙吗?而且我没有为表和标签预定义类
即使从您提供的部分 JSON 来看,也很明显它不是有效的 JSON。如果插入一些换行符和缩进以显示层次结构,则可以更容易地看到这一点:
[
{
"Table":"Starters",
"Label":"Starters",
"Columns":
[
{
"Field":"Desc",
"Display":"Description",
{"Field":"Name","Display":"Starter Name",},
JSON中有两种结构类型:
[square brackets]
中,包含零个或多个以逗号分隔的值{curly braces}
中,它也包含以逗号分隔的值,但每个值必须以属性名称和冒号开头。所以上面最后一行有问题,没有属性名。它应该是这样的:
"Field":"Desc",
"Display":"Description",
"SomeProperty": {"Field":"Name","Display":"Starter Name"}
注意:我还删除了
"Starter Name"
之后不必要的逗号,这在 JSON 中也是无效的。