data.cars['Nissan'][0].model // Sentra
data.cars['Nissan'][1].model // Maxima
data.cars['Nissan'][2].doors // 2
for (var make in data.cars) {
for (var i = 0; i < data.cars[make].length; i++) {
var model = data.cars[make][i].model;
var doors = data.cars[make][i].doors;
alert(make + ', ' + model + ', ' + doors);
}
}
型 另一种方法(使用汽车模型的关联数组而不是索引数组):
{
"cars": {
"Nissan": {
"Sentra": {"doors":4, "transmission":"automatic"},
"Maxima": {"doors":4, "transmission":"automatic"}
},
"Ford": {
"Taurus": {"doors":4, "transmission":"automatic"},
"Escort": {"doors":4, "transmission":"automatic"}
}
}
}
data.cars['Nissan']['Sentra'].doors // 4
data.cars['Nissan']['Maxima'].doors // 4
data.cars['Nissan']['Maxima'].transmission // automatic
for (var make in data.cars) {
for (var model in data.cars[make]) {
var doors = data.cars[make][model].doors;
alert(make + ', ' + model + ', ' + doors);
}
}
我正在阅读的一本好书:Professional JavaScript for Web Developers作者:Nicholas C. Zakas 3rd Edition包含以下有关JSON语法的信息: JSON语法允许表示三种类型的值。 关于你感兴趣的Arrays,它说: “数组在JSON中使用JavaScript中的数组文字符号表示。例如,这是JavaScript中的一个数组:
Using the below method pass any value which is an array:
Use:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.5.0</version>
</dependency>
Input parameter: URL, like
Example: "$node.[any int value of array].anyKeyWhichInArray"
Example: "$.cars.Nissan.[0].model"
public String getAnyValueFromResponseBody(String jsonBody, String url) {
String value = "";
try {
value = JsonPath.read(jsonBody, url).toString();
System.out.println(value);
} catch (Exception var6) {
System.error.println("unable to parse "+url);
}
return value;
}
6条答案
按热度按时间gwo2fgha1#
在最外层,JSON对象以
{
开始,以}
结束。样本数据:
字符串
如果JSON被分配给一个名为data的变量,那么访问它将像下面这样:
型
另一种方法(使用汽车模型的关联数组而不是索引数组):
型
编辑:
更正:JSON对象以
{
开始,以}
结束,但它也可以有一个JSON数组(在最外层),以[
开始,以]
结束。此外,原始JSON数据中的重大语法错误已得到纠正:JSON对象中的所有键值必须用双引号,JSON对象或JSON数组中的所有字符串值也必须用双引号。
请参阅:
xmq68pz92#
我正在阅读的一本好书:Professional JavaScript for Web Developers作者:Nicholas C. Zakas 3rd Edition包含以下有关JSON语法的信息:
JSON语法允许表示三种类型的值。
关于你感兴趣的Arrays,它说:
“数组在JSON中使用JavaScript中的数组文字符号表示。例如,这是JavaScript中的一个数组:
字符串
您可以使用类似的语法在JSON中表示相同的数组:
型
注意这里没有变量或分号。数组和对象可以一起使用来表示更复杂的数据集合,例如:
型
这个数组包含了许多代表书籍的对象,每个对象都有几个键,其中一个是“authors”,这是另一个数组。对象和数组通常是JSON数据结构的顶级部分(即使这不是必需的),可用于创建大量数据结构。
要将JavaScript对象序列化(转换)为JSON字符串,可以使用JSON对象stringify()方法。对于Mark Linus的回答:
型
汽车现在是一个JavaScript对象。要将其转换为JSON对象,您可以执行以下操作:
型
其产生:
型
相反,将JSON对象转换为JavaScript对象(这称为解析),您将使用parse()方法。如果您需要更多信息,请搜索这些术语。或者拿到这本书,它有很多例子。
3yhwsihp3#
再举一个例子:
字符串
读取数组的
型
使用http://www.jsoneditoronline.org/更好地理解JSON代码
2j4z5cfb4#
字符串
lh80um4z5#
我知道这是一个老问题,但我想在Java代码沿着添加另一个JSON示例。
JSON示例:
字符串
"cars"
表示JSON数组"cars"
数组中的每个JSON对象使用"properties"
JSON对象和其他字段来描述一辆汽车。"id"
、"code"
和"model"
名称。"properties"
对象还有助于描述另一组汽车特性。它由"color"
、"doors"
、"engine"
、"price"
和"is_electric"
字段组成。Java代码:
这段代码在
org.json
库的帮助下操作JSON对象。jsonObject
存储整个JSON字符串。1.然后,我们将最高级别的对象
"cars"
检索到jsonArray
变量中。1.使用
for
-loop,我们迭代JSON数组,并打印每辆车的JSON数据。型
输出量:
型
omhiaaxx6#
字符串