2016-08-09 73 views
4

jsonの新機能で、基本的な例を試してみようと思います。JSON解析エラー:オブジェクトメンバーの名前がありません

私のhttpリクエストは{username ':' 1 '}、{' username ':' 1 '}を返します。

私は、有効なjsonの外観については混乱していますが、それを文字列変数に取り込んで逆シリアル化する方法もあります。

ToJsonは{'username': '1'}を返すので、それを二重引用符で囲んで元に戻すことが正しいと思いました。

私は明らかに何かが欠けています!

class DataItem{ 

    public string username; 
} 

string json = "{'username': '1'}"; 

deserialized = JsonUtility.FromJson<DataItem>(json); 

エラー:ArgumentException:JSON解析エラー:オブジェクトメンバーの名前がありません。

+1

有効なjsonではありません。 jsonは '' 'ではなく' ''を使用します –

+0

元のデータ入力は有効なJSONでもありません配列は[]構文で表されます –

+1

* "有効なjsonの外観は混乱しています" * - if [有効なjsonがどのように見えるのか...](https://www.google.com/search?q=what+does+valid+json+look+like)に尋ねることができる情報源があっただけです –

答えて

0

は、キーを定義するために二重引用符( ")を使用してみてください。

おそらく、怒鳴るでこの参照が有用である可能性がある。私は私が欠けていたものを見つけ非常に参考に応答して

https://tools.ietf.org/html/rfc7159#page-12

5

// Temp Data Struct 
class DataItem{ 
    public string username; 
    } 

//Valid Json look like : {"username": "1"} 

//Valid Json must be double quoted again when assigned to string var 
// or escaped if you want 'valid' Json to be passed to the FromJson method 
//string json = "{\"username\": \"1\"}"; or 

string json = @"{""username"": ""1""}"; 

DataItem deserialized = JsonUtility.FromJson<DataItem>(json); 

Debug.Log("Deserialized "+ deserialized.username); 

戻り '非直列化1'

非常に基本的なものですが、感謝してくれてありがとう!

関連する問題