2016-04-14 12 views
1

JSONファイルからデータをインポートできるアプリケーションを開発しました。C#JSON import:文字列をバイト配列に変換できませんでした

これは私がJSONをデシリアライズするために使用しているコードです:

var json_serializer = new JavaScriptSerializer(); 
var json_tpp = json.tpp; 
ThermalPowerPlant tpp = json_serializer.Deserialize<ThermalPowerPlant>(json_tpp); 

すべてが正常に働いていたが、最近私はバイト配列として保存するPDFが含まれるようにThermalPowerPlantクラスを変更しました。

私のJSONにはこのフィールドがあり、再度インポートしようとすると、アプリケーションはStringByte Arrayに変換できないという例外を返します。

どうすればこのケースを処理できますか?

EDIT

これは私のJSONのバイト配列フ​​ィールドです:

"Map": "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TNx506OCStPM9Ps8di6u0GQYWJNA52ej1m884jzyaFgV5y9fnqRJabQPbVvu7OlRQWxjbsGNCGFSPqIbh80XzzTfMydNk0ojj/rTqfPL+e3Pf51Ts6H3Q8tuwPSoJHMcTD9iZ+Of+F7rJgneMBt6T7TshkmP+tP9e72ht9Cz8vagG4husi/aKX798vj56benz7rTFk/PxdvTl3PcrXRH6hLzXM2mk7u2i18o6tG9UOgWqt9825h/pTB/tpp8pQgDyVeKn80dx/g1wmXELxJ9b+4kcWr/H8y/HkcKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveFswIDAgODQyIDU5NV0vUmVzb3VyY2VzPDwvRm9udDw8L0YxIDEgMCBSL0YyIDIgMCBSPj4+Pi9Db250ZW50cyAzIDAgUi9QYXJlbnQgNCAwIFI+PgplbmRvYmoKMSAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9IZWx2ZXRpY2EtQm9sZC9FbmNvZGluZy9XaW5BbnNpRW5jb2Rpbmc+PgplbmRvYmoKMiAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbNSAwIFJdPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSPj4KZW5kb2JqCjcgMCBvYmoKPDwvUHJvZHVjZXIoaVRleHRTaGFycJIgNS41LjggqTIwMDAtMjAxNSBpVGV4dCBHcm91cCBOViBcKEFHUEwtdmVyc2lvblwpKS9DcmVhdGlvbkRhdGUoRDoyMDE2MDQxMTEzMDAwOCswMCcwMCcpL01vZERhdGUoRDoyMDE2MDQxMTEzMDAwOCswMCcwMCcpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTc1NyAwMDAwMCBuIAowMDAwMDA1ODUwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwNTkzOCAwMDAwMCBuIAowMDAwMDA1NjM2IDAwMDAwIG4gCjAwMDAwMDU5ODkgMDAwMDAgbiAKMDAwMDAwNjAzNCAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgOC9Sb290IDYgMCBSL0luZm8gNyAwIFIvSUQgWzxmNzAwMjI5ZDUxNzljNDZlNzNiMTFlZThiNTc0NmUxMj48ZjcwMDIyOWQ1MTc5YzQ2ZTczYjExZWU4YjU3NDZlMTI+XT4+CiVpVGV4dC01LjUuOApzdGFydHhyZWYKNjE5NgolJUVPRgo=" 

PS:私もJSONをチェックしましたし、それが正しくフォーマットされています。

+0

JSONはどのようにそのフィールドを表していますか?スニペットと履歴ではなく[mcve]を提供するだけであれば、本当に役に立ちます。たとえば、データベース部分が適切であるかどうかは疑問です。 (json_serializerではなく 'jsonSerializer'のような.NETの命名規則に従うことをお勧めします。 –

+0

このフィールドの例を見ることができますか?バイト配列ではなくbase64と思われます。 – Rob

+1

[JSON。 NET(http://www.newtonsoft.com/json)。 – BWA

答えて

2

JSON.NETJavaScriptSerializerを交換し、このコードは完璧に動作します:

class Program 
{ 
    public class SomeClass 
    { 
     public string SomeProperty { get; set; } 

     public byte[] ByteArrayProperty { get; set; } 
    } 



    static void Main() 
    { 
     SomeClass sc = new SomeClass() 
     { 
      SomeProperty = "la la la", 
      ByteArrayProperty = new byte[] {1, 2, 3} 
     }; 

     string json = JsonConvert.SerializeObject(sc); 

     SomeClass newSC = JsonConvert.DeserializeObject<SomeClass>(json); 

    } 
} 

EDIT

json = "{\"SomeProperty\":\"la la la\",\"ByteArrayProperty\":\"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TNx506OCStPM9Ps8di6u0GQYWJNA52ej1m884jzyaFgV5y9fnqRJabQPbVvu7OlRQWxjbsGNCGFSPqIbh80XzzTfMydNk0ojj/rTqfPL+e3Pf51Ts6H3Q8tuwPSoJHMcTD9iZ+Of+F7rJgneMBt6T7TshkmP+tP9e72ht9Cz8vagG4husi/aKX798vj56benz7rTFk/PxdvTl3PcrXRH6hLzXM2mk7u2i18o6tG9UOgWqt9825h/pTB/tpp8pQgDyVeKn80dx/g1wmXELxJ9b+4kcWr/H8y/HkcKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveFswIDAgODQyIDU5NV0vUmVzb3VyY2VzPDwvRm9udDw8L0YxIDEgMCBSL0YyIDIgMCBSPj4+Pi9Db250ZW50cyAzIDAgUi9QYXJlbnQgNCAwIFI+PgplbmRvYmoKMSAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9IZWx2ZXRpY2EtQm9sZC9FbmNvZGluZy9XaW5BbnNpRW5jb2Rpbmc+PgplbmRvYmoKMiAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbNSAwIFJdPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSPj4KZW5kb2JqCjcgMCBvYmoKPDwvUHJvZHVjZXIoaVRleHRTaGFycJIgNS41LjggqTIwMDAtMjAxNSBpVGV4dCBHcm91cCBOViBcKEFHUEwtdmVyc2lvblwpKS9DcmVhdGlvbkRhdGUoRDoyMDE2MDQxMTEzMDAwOCswMCcwMCcpL01vZERhdGUoRDoyMDE2MDQxMTEzMDAwOCswMCcwMCcpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTc1NyAwMDAwMCBuIAowMDAwMDA1ODUwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwNTkzOCAwMDAwMCBuIAowMDAwMDA1NjM2IDAwMDAwIG4gCjAwMDAwMDU5ODkgMDAwMDAgbiAKMDAwMDAwNjAzNCAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgOC9Sb290IDYgMCBSL0luZm8gNyAwIFIvSUQgWzxmNzAwMjI5ZDUxNzljNDZlNzNiMTFlZThiNTc0NmUxMj48ZjcwMDIyOWQ1MTc5YzQ2ZTczYjExZWU4YjU3NDZlMTI+XT4+CiVpVGV4dC01LjUuOApzdGFydHhyZWYKNjE5NgolJUVPRgo=\"}"; 

newSC = JsonConvert.DeserializeObject<SomeClass>(json); 

作品完全に。 ByteArrayPropertyは、エラーのないバイトで埋められます。

+0

このコードは*文字列の逆シリアル化を表示しません*アレイに。 'SerializeObject'は、Base64でエンコードされた文字列ではなく、ByteArrayProperty用のJSON配列を作成します。この場合、 'json'には何が入っていますか? –

+0

@PanagiotisKanavos JSONは '{" SomeProperty ":" la la la "、" ByteArrayProperty ":" AQID "}'です。そして、 'string base64Encoded =" AQID "; byte [] data = System.Convert.FromBase64String(base64Encoded); '適切な配列を与えます。 – BWA

+0

ありがとう@BWA!あなたのソリューションは私にとって完璧に機能します!また、@Robのソリューションは良い(私はupvotesを見ていると思う)ことができますが、それは私のシナリオに完全に適合しません。 –

0

は尋ねた質問は別の問題から来て、多分あなたは、文字列とバイト配列との違いを確認するために、JsonSerializerSettingsためTypeNameHandlingを指定する必要がDeserializing JSON to abstract class

(例えば)で認められたソリューションをお試しください。そこコード(自分の問題に適応)から興味深い抜粋:あなたはこの事を改善する必要がある場合がありますので、

.... 
var jset = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; 
ThermalPowerPlant tpp = ...; 
string json = JsonConvert.SerializeObject(tpp, jset); 
.... 

ThermalPowerPlant tpp2 = (ThermalPowerPlant)JsonConvert.DeserializeObject(json, jset); 

は、コンパイルしようとしなかったし、多分あなたは別の方法でデシリアライズされています。

4

あなたのフィールドはBase64です。文字列としてプロパティを定義する必要があります(なので、バイト配列を表しています)。

その後、あなたはこのようにそれを変換することができます:

var myArr = Convert.FromBase64String(tpp.map); 
関連する問題