Json test = Json.emptyArray;
test ~= "aaa";
test ~= "bbb";
test ~= "ccc";
writeln(test);
出力:["aaa","bbb","ccc"]
要素がJSON配列に存在するかどうかをチェックする方法は?
しかし、どのようにこの配列が要素を持っている場合、私は確認できますか? canFind
をJSON配列で使用する方法を理解できません。私はvibed json moduleを使用しています。
if(test.get!string[].canFind("aaa"))
{
writeln("founded");
}
することはできません:Got JSON of type array, expected string.
をした場合、次のように行うには:to!string
とtoString
方法では
if(test.get!(string[]).canFind("aaa"))
{
writeln("founded");
}
Error: static assert "Unsupported JSON type 'string[]'. Only bool, long, std.bigint.BigInt, double, string, Json[] and Json[string] are allowed."
すべての作業:
Json test = Json.emptyArray;
test ~= "aaa";
test ~= "bbb";
test ~= "ccc";
writeln(to!string(test));
if(test.toString.canFind("aaa"))
{
writeln("founded");
}
0を私がしなければ
は、しかし、それはforeachの内だ:私は取得しています
foreach(Json v;visitorsInfo["result"])
{
if((v["passedtests"].toString).canFind("aaa"))
{
writeln("founded");
}
}
:Error: v must be an array or pointer type, not Json
。どうしましたか?
文字列[]の前後に中かっこを入れてみることはできますか? like .get! (文字列[])。canFind –
私はコードを更新しました。配列を 'writeln'に渡している間にエラーが出る可能性はありますか?それは印刷の配列をサポートしていますか? –
ええ、ごめんなさい。電話があったので、手に入れてください!(文字列[])は機能しません。 http://vibed.org/api/vibe.data.json/Json.get –