私は次のJsonstringを持っています
var j = { "name": "John" };
alert(j.length);
それは警告します:未定義、どうすればjson配列オブジェクトの長さを見つけることができますか??
ありがとう
私は次のJsonstringを持っています
var j = { "name": "John" };
alert(j.length);
それは警告します:未定義、どうすればjson配列オブジェクトの長さを見つけることができますか??
ありがとう
json文字列から始めましょう:
var jsonString = '{"name":"John"}';
その長さは簡単に決定できます。
alert("The string has "+jsonString.length+" characters"); // will alert 15
次に、それをオブジェクトに解析します。
var jsonObject = JSON.parse(jsonString);
JavaScriptはではなく、長さもありません。プロパティの数を知りたい場合は、それらを数える必要があります。Object
Array
var propertyNames = Object.keys(jsonObject);
alert("There are "+propertyNames.length+" properties in the object"); // will alert 1
、から(独自の)プロパティ名Object.keys
を取得する関数がご使用の環境(古いブラウザなど)で使用できない場合は、手動でカウントする必要があります。Array
Object
var props = 0;
for (var key in jsonObject) {
// if (j.hasOwnProperty(k))
/* is only needed when your object would inherit other enumerable
properties from a prototype object */
props++;
}
alert("Iterated over "+props+" properties"); // will alert 1
これを行う別の方法は、プロパティJSON.stringify
を使用できるオブジェクト (文字列) を提供するlater メソッドを使用することです。length
var x = JSON.stringify({ "name" : "John" });
alert(x.length);
function getObjectSize(o) {
var c = 0;
for (var k in o)
if (o.hasOwnProperty(k)) ++c;
return c;
}
var j = { "name": "John" };
alert(getObjectSize(j)); // 1
javascrit には json Array オブジェクトはありません。j
は単なる JavaScript のオブジェクトです。
オブジェクトが持つプロパティの数を意味する場合 (プロトタイプを除く)、次の方法で数えることができます。
var length = 0;
for (var k in j) {
if (j.hasOwnProperty(k)) {
length++;
}
}
alert(length);
Jquery の代替:
var myObject = {"jsonObj" : [
{
"content" : [
{"name" : "John"},
]
}
]
}
$.each(myObject.jsonObj, function() {
alert(this.content.length);
});