gpt4 book ai didi

C# - 如何从 json 动态对象中检索数组?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:22 28 4
gpt4 key购买 nike

我正在尝试将数组直接从 JSON“数据”项获取到数组变量中:

string jsonString = "{\"data\":[
{\"name\":false,\"number\":true},
{\"name\":false,\"number\":false},
{\"name\":true,\"number\":false}
]}";

var serializer = new JavaScriptSerializer();
serializer.RegisterConverters(new[] { new DynamicJsonConverter() });
dynamic jsonObject = serializer.Deserialize(jsonString, typeof(object));

Array jsonArray = jsonObject.data;
// Here error says:
//Cannot implicitly convert type 'System.Collections.Generic.List<object>' to 'System.Array'

dynamic lastJsonArrayData = jsonArray[jsonArray.Length - 1];
// this is where the error occurs, it says:
//Cannot apply indexing with [] to an expression of type 'Array'

我需要做的最后一件事是将 lastJsonArrayData 转换回动态对象,但我不知道如何......而且我需要按照说明单独执行最后两个步骤,这意味着先获取数组再获取对象!!我是 C# 的新手

编辑:真正的JSON结构其实更像这样:

string jsonString = "{\"firstlevel\":{\"secondlevel\":{\"data\":[
{\"name\":false,\"number\":true},
{\"name\":false,\"number\":false},
{\"name\":true,\"number\":false}
]}}}";

最佳答案

这似乎可行:

var jsonArray = jsonObject.data.ToArray();

(Joel 给了我一个提示。但他声明了 Array jsonArray。但它没有用。)

关于C# - 如何从 json 动态对象中检索数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066165/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com