【问题标题】:Deserialize a json array in asp.net在 asp.net 中反序列化一个 json 数组
【发布时间】:2013-10-17 11:28:30
【问题描述】:

我有来自 http 帖子的以下 json 字符串:

Dim json As String = "{" + """contacts"":" + "[{" + """name"":""jocelyne" + """," + """mo"":""jocelyne" + """}" + ",{" + """name"":""eliane" + """," + """mo"":""12345678" + """}" + "]}"

如何反序列化这个 json 数组?我尝试使用字典,但它不起作用 注意json数组的长度可能很大

 Dim jss As New System.Web.Script.Serialization.JavaScriptSerializer()
 Dim dict As Dictionary(Of String, String) = jss.Deserialize(Of Dictionary(Of String, String))(json)
 For Each item As KeyValuePair(Of String, String) In dict
        Response.Write(item.Key & " - " & item.Value & "<br>")
    Next

【问题讨论】:

标签: asp.net arrays json vb.net http-post


【解决方案1】:

试试这个

   System.Web.Script.Serialization.JavaScriptSerializer ss1 = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string, string> dicobj = new Dictionary<string, string>();
        dicobj = ss1.DeserializeObject(JsonString) as Dictionary<string, string>;

【讨论】:

    【解决方案2】:

    尝试使用 JSON.Net

      Dictionary<string,string> deserializedProduct =
        JsonConvert.DeserializeObject<Dictionary<string,string>>(json);
    

    【讨论】:

    • 我尝试了你的建议,但我得到了这个错误:Error reading string. Unexpected token: StartArray. Path 'contacts', line 1, position 13.你知道如何解决它吗?
    • @JocelyneElKhoury,那么 JSON 格式可能有错误。请检查
    • 我不断收到当前位置没有可用的源代码,尽管我添加了对我的项目的引用并且它在 bin 文件中..
    • 您能否帮我检查以下问题:stackoverflow.com/questions/19535504/...
    【解决方案3】:

    试试这个,这是C#代码

    dynamic obj = JsonConvert.DeserializeObject(json);
    var contacts = obj["contacts"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多