我正在使用一个Json 动态对象。
这是我用来从对象中获取数据的方法:
string = obj.item.today.price;
这工作正常,问题是一旦我必须开始使用数字示例:
string = obj.daily.10000;
它给我一个错误
有什么办法可以解决这个问题吗?
最佳答案
仅仅因为 10000
不是有效的 identifier,“调用
10000 每日对象
”是不可能的.
让我解释一下这里发生了什么:
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/