无法从源类型转换为目标类型Json

时间:2015-07-21 09:45:32

标签: c# json unity3d

我正从我的服务器检索json文件,然后使用Json反序列化内容。我怎么一直收到这个错误:

  

无法从源类型转换为目标类型

我正在遵循Minijson脚本的步骤,但是这个错误仍然出现了。一些帮助将不胜感激。

 void Start () {


     //creating url
     image1Request = new WWW("http://development.someurl.com/MoreGames/MoreGames.json");
     StartCoroutine(ImageOne(image1Request));
 }

 IEnumerator ImageOne(WWW www)
 {
     //wait until url is loaded
     yield return www;
     //load image into texture slot
     if (www.error == null)
     {
         //assigning URLS
         var dict = Json.Deserialize(www.text) as Dictionary<string,object>;
         Debug.Log(www.text);
         Debug.Log("deserialized: " + dict.GetType());
         Debug.Log("dict['string']: " + (string)dict["widget"]);

     }

     else
     {
         Debug.Log("WWW Error: " + www.error);
     }
 }

2 个答案:

答案 0 :(得分:0)

而不是使用

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> <div class="container"> <div class="row"> <div class="pull-right col-md-3 col-xs-12">Button</div> <div class="pull-right col-md-3 col-xs-12">Button</div> <div class="pull-right col-md-3 col-xs-12">Button</div> <div class=" pull-right col-md-3 col-xs-12">Dropdown</div> </div> <div>

我建议您使用以下代码段

var dict = Json.Deserialize(www.text) as Dictionary<string,object>;

答案 1 :(得分:0)

您的词典的值类型为object。您正尝试将object类型转换为string。应该更正:

(object)dict["widget"]

我不确定你要记录的是什么,但是如果它是widget对象的名字,它应该是这样的:

Debug.Log("dict['string']: " + ((object)dict["widget"]).ToString());