0

リモートURLの解析にNewtonSoft.Jsonパーサーを使用しています。

以下のような私のリモートJSONの例

Kerberos.load({"todays" : "Fri, Mar 15",
    "datas" : [
            {
                "id" : "2021200303"
            }
            ]});

JSONの例を以下のように解析しています

using (var WebClient = new System.Net.WebClient())
{
    WebClient.Encoding = System.Text.Encoding.UTF8;

    var _Json = WebClient.DownloadString(_MyJsonRemoteURL_);

    _Json = _Json.Replace("Kerberos.load(", "");
    _Json = _Json.Replace("]});", "]}");

    dynamic _Dynamic = JsonConvert.DeserializeObject(_Json);
    foreach (var _JsonNode in _Dynamic.datas)
    {
        MessageBox.Show(_JsonNode.SelectToken("id").ToString());
    }
}

では、 Replaceメソッドを使用せずにリモートJSON文字列を検証する方法はありますか?

4

1 に答える 1

-2

JSON に対して実行したい場合は、可能性が非常に高いです。Contract testing a json service in .net を確認してください。

クイック リファレンス用にコードをクロス ポストしてください。詳細については、リンクをチェックしてください。

[Test]
public void ShouldBeAbleToValidateTheJSONServiceResponseForFunctionalityA()
{
    const string schemaJson = @"
{
    'description': 'Service Response',
    'type': 'object',
    'properties': {
        'product': {
            'type': 'object',
            'properties': {
                'availability': {
                        'type': 'array',
                        'items': {
                                    'type': 'object',
                                    'properties': {
                                                    'Local': { 'type' : 'number'},
                                                    'Storehouse': { 'type' : 'number'},
                                                } 
                                }
                    }
            }        
        }
    }
}";
    var parameters = new Dictionary<string, object> { { "id", 1 }, { "city", "Chennai" } };
    AssertResponseIsValidSchema(schemaJson, parameters);
}
于 2013-03-16T02:43:42.437 に答える