我正在使用 Json 动态对象 。
这是我用来从对象中获取数据的方法:
string = obj.item.today.price;
这很好用,问题是一旦我必须开始使用数字示例:
string = obj.daily.10000;
它给了我一个错误
有没有什么办法解决这一问题?
最佳答案
“call
10000 on daily object
”不可能仅仅因为 10000
不是有效的 identifier 。
让我解释一下这里发生了什么:JSON
解析器生成一些运行时类型,继承自一些基本 JSON
类型(例如 JsonObject
)。
所以,obj
是一些生成的类型,你在它上面调用属性 item
,它返回类似的生成类型,然后你调用 today
属性等等。
最后一步很奇怪,任何类型都不能有 10000
属性,无论是否生成。
但是,如果库支持对对象进行键值访问,则可以尝试编写
obj.daily["10000"]
或将 obj 转换为 JObject (假设您使用的是 JSON.NET)
并调用 Property 方法:
var jsonObject = (JObject) obj;
var propertyValue = jsonObject.Property("10000").Value;
关于C# Json 动态对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16165261/