So-net無料ブログ作成

[Review]デジカメ:Canon PowerShot A3500 ls [Hardware's Review]

(1)レビュー
 携帯のカメラの機能に乏しさを感じたので、
 デジカメを購入しました。

 デジカメの購入は10年以上ぶりなので、
 当時の製品と比べるとかなり性能はアップしていますが、
 単純に、画素数や記録枚数が増えただけではないようです。

 一番、目新しいと感じたのは、『写真の転送機能』です。

 従来のデジカメは、写真をパソコンに転送するには、
 デジカメとパソコンをケーブルで接続するか、
 メディアをデジカメから取り出してパソコンにセットする必要がありました。

 今回購入したデジカメは、Wi-Fiに対応しており、
 デジカメ側は、操作メニューで項目を選択するだけで、
 無線LAN経由でパソコンに転送することができます。

 また、Wi-Fiを利用することで、
 スマホへの転送や、2台のデジカメ間でのデータ交換も可能です。

 さらに、PictBridge(USB and Wireless LAN)に対応したプリンタであれば、
 デジカメから直接、プリンタに写真を印刷することができます。

(2)リンク
Canon デジタルカメラ PowerShot A3500 IS(パープル) 広角28mm 光学5倍ズーム PSA3500IS(PR)

Canon デジタルカメラ PowerShot A3500 IS(パープル) 広角28mm 光学5倍ズーム PSA3500IS(PR)

  • 出版社/メーカー: キヤノン
  • メディア: エレクトロニクス

[.NET]JSON.NET(.NET4以降)その1 [Programming .NET Tips]

[はじめに]
.NETJSONデータを扱う機会があったので、予習がてらに作ってみました。
 JSONの解析には、逆シリアライズを使用します。
 .NET3.5以降であれば、.NET標準のクラスライブラリでも実装できますが、
 逆シリアライズの結果を格納するクラスを、別途定義する必要があるので、
 もっとシンプルにできないか調べてみました。
 フリーのライブラリで『JSON.NET』を使うと、よりシンプルに実装できそうなので、
 サンプルを作ってみました。(.NET4で作成します。)
[JSON.NETについて]
・ダウンロード元
 下記サイトからダウンロードできます。
 http://json.codeplex.com/
・対象フレームワーク
 ・.NET 2.0
 ・.NET 3.5
 ・.NET 4
 ・Silverlight
 ・Windows Phone and Windows 8
・オープンソース
 ソースが公開されているので、
 ソリューションにプロジェクトに追加して、そのままビルドできます。
 プロジェクトファイルが、.NETのバージョン毎に用意されているので、
 対応するプロジェクトを追加します。
・言語
 C#で記述していますが、
 ライブラリの呼出しは、.NET言語であれば、C#以外でも可能です。

[ソース]
コードのコピー
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace SerialSample
{
    class Program
    {
        static void Main(string[] args)
        {
            //前提条件
            //※参照設定に『Newtonsoft.Json.NET40』を追加

            //JSON文字列を作成
            var sb = new StringBuilder();
            sb.Append(@"{");
            sb.Append(@"  ""キー1"":""値1"",");
            sb.Append(@"  ""キー2"":""値2"",");
            sb.Append(@"  ""キー3"":");
            sb.Append(@"    {");
            sb.Append(@"      ""キー3_1"":""値3_1"",");
            sb.Append(@"      ""キー3_2"":""値3_2""");
            sb.Append(@"    },");
            sb.Append(@"  ""キー4"":");
            sb.Append(@"    [");
            sb.Append(@"      {");
            sb.Append(@"        ""キー4_1"":""値4_0_1"",");
            sb.Append(@"        ""キー4_2"":""値4_0_2""");
            sb.Append(@"      },");
            sb.Append(@"      {");
            sb.Append(@"        ""キー4_1"":""値4_1_1"",");
            sb.Append(@"        ""キー4_2"":""値4_1_2""");
            sb.Append(@"      }");
            sb.Append(@"    ],");
            sb.Append(@"  ""キー5"":");
            sb.Append(@"    [");
            sb.Append(@"      ""値5_0_1"",");
            sb.Append(@"      ""値5_0_2"",");
            sb.Append(@"      ""値5_0_3""");
            sb.Append(@"    ]");
            sb.Append(@"}");

            //JSON文字列を逆シリアル化
            var jobj = JsonConvert.DeserializeObject<JContainer>(sb.ToString());

            //結果を表示
            Console.WriteLine("キー1:{0}", jobj["キー1"].ToString());
            Console.WriteLine("キー2:{0}", jobj["キー2"].ToString());
            Console.WriteLine("キー3.キー3_1:{0}", jobj["キー3"]["キー3_1"].ToString());
            Console.WriteLine("キー3.キー3_2:{0}", jobj["キー3"]["キー3_2"].ToString());

            for (int i = 0; i < jobj["キー4"].Count(); i++) 
            {
                Console.WriteLine(
                    "キー4.[{0}].キー4_X_1:{1}",
                    i.ToString(),
                    jobj["キー4"][i]["キー4_1"].ToString());
                Console.WriteLine(
                    "キー4.[{0}].キー4_X_2:{1}",
                    i.ToString(),
                    jobj["キー4"][i]["キー4_2"].ToString());
            }

            for (int i = 0; i < jobj["キー5"].Count(); i++)
            {
                Console.WriteLine(
                    "キー5.[{0}]:{1}",
                    i.ToString(),
                    jobj["キー5"][i].ToString());
            }

            Console.ReadLine();

            //出力結果
            // キー1:値1
            // キー2:値2
            // キー3.キー3_1:値3_1
            // キー3.キー3_2:値3_2
            // キー4.[0].キー4_X_1:値4_0_1
            // キー4.[0].キー4_X_2:値4_0_2
            // キー4.[1].キー4_X_1:値4_1_1
            // キー4.[1].キー4_X_2:値4_1_2
            // キー5.[0]:値5_0_1
            // キー5.[1]:値5_0_2
            // キー5.[2]:値5_0_3
        }
    }
}
[C#]JSON.NET

タグ:.net JSON JSON.NET
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。