C# C-如何解码不包含任何赋值的json数组

C# C-如何解码不包含任何赋值的json数组,c#,json,C#,Json,我收到一个需要解码的json数组: [143084,[8906.3,24.990013919999996,8906.8,32.58931742,-32.6,-0.0036,8907,7171.16062768,9075,8620]] 它似乎是一个有效的json数组,但我不确定如何解码它。 我通常使用: JsonConvert.DeserializeObject<object>(json); 我甚至不知道该用谷歌搜索什么,因为我不知道正确的单词 "channelId": 所有示例

我收到一个需要解码的json数组:

[143084,[8906.3,24.990013919999996,8906.8,32.58931742,-32.6,-0.0036,8907,7171.16062768,9075,8620]]
它似乎是一个有效的json数组,但我不确定如何解码它。 我通常使用:

JsonConvert.DeserializeObject<object>(json);
我甚至不知道该用谷歌搜索什么,因为我不知道正确的单词

"channelId":
所有示例都使用看起来正常的json数组:/ 很抱歉问了这个模糊的问题:/


任何帮助都将不胜感激!谢谢

我认为你有两个选择

1创建表示此视图的视图模型类

public class ViewModel
{
  public string channelId { get; set; }
  public string[] values { get; set; }
}
我认为json中的值是一个包含一个值的字符串数组

2使用本例中的JObject类


感谢丹尼尔A.怀特

我最终做了这样的事:

message = message.Replace("[", "");
message = message.Replace("]", "");
var array = message.Split(',');
它给了我一个单层数组,我现在可以把它转换成我需要的对象。
可能不漂亮,但很管用。谢谢你,丹尼尔

你可以有这样一个函数

        var jsonArray = @"[143084,[8906.3, 24.990013919999996, 8906.8, 32.58931742, -32.6, -0.0036, 8907, 7171.16062768, 9075, 8620]]";
        var deserializedArray = JArray.Parse(jsonArray);
        var result = new MyObject
        {
            channelId = deserializedArray.First.ToString(),
            values = JsonConvert.SerializeObject(deserializedArray.Last)
        };

        return result;
其中MyObject看起来像这样:

    public class MyObject
    {
        public string channelId { get; set; }
        public string values { get; set; }
    }
这将产生以下结果:

{
  "channelId": "143084",

  "values": "[8906.3,24.990013919999996,8906.8,32.58931742,-32.6,-0.0036,8907,7171.16062768,9075,8620]"
}

这是一个带有数组的数组。你应该使用JArray.Parse对其进行反序列化,然后获取第二个项并将其转换为数组。如上面的评论所述,你可以使用JArray.Parse,然后访问其项。我不喜欢替换文本的想法,如果json格式良好,最好使用json读取器并处理可能的结果,通过这种方式,@soomonI agree在将来会出现较少的问题,但是json.parse不起作用:当前的JsonReader项不是object:Integer。路径,第1行,位置5。这个站点说它是有效的json:从JsonReader读取JArray时出错。当前JsonReader项不是数组:整数。路径第1行位置4.Json.parse不起作用:当前JsonReader项不是object:Integer。路径,第1行,位置5。我不明白,你能发布完整的代码吗?
{
  "channelId": "143084",

  "values": "[8906.3,24.990013919999996,8906.8,32.58931742,-32.6,-0.0036,8907,7171.16062768,9075,8620]"
}