当前位置: 首页> 健康> 母婴 > 宠物网站页面设计创意国外_一份完整app运营推广方案_互联网舆情监控系统_广州疫情最新情况

宠物网站页面设计创意国外_一份完整app运营推广方案_互联网舆情监控系统_广州疫情最新情况

时间:2025/8/2 20:17:41来源:https://blog.csdn.net/2301_78772942/article/details/143500475 浏览次数:0次
宠物网站页面设计创意国外_一份完整app运营推广方案_互联网舆情监控系统_广州疫情最新情况

Java JSON教程 - JSON模式

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。

JSON模式也以JSON格式编写。它用于验证JSON数据。

JSON模式示例

以下代码显示了基本的JSON模式。

{"$schema": "http://json-schema.org/draft-04/schema#","title": "Book","description": "A book from Java2s.com","type": "object","properties": {"id": {"description": "ID for JSON","type": "integer"},"name": {"description": "Name for JSON","type": "string"},"price": {"type": "number","minimum": 0,"exclusiveMinimum": true}},"required": ["id", "name", "price"]
}

$schema 声明该模式是根据草案v4规范编写的。

title 关键字将标题设置为模式。

description 字段用于描述模式。

type 关键字定义了我们的JSON数据的第一个约束。

properties定义各种键及其值类型,要在JSON文件中使用的最小值和最大值。

必需标记所需的属性。

minimum 是对值的约束,表示最小可接受值。

exclusiveMinimumtrue表示该值应大于“minimum"的值。

maximum 是对值的约束,表示最大可接受值。

exclusiveMaximumtrue表示该值应大于'minimum'的值。

multipleOf 指定如果实例由此关键字的值除法的结果是整数,则数字实例是有效的。

maxLength 设置字符串的最大长度。

minLength 设置字符串的最小长度。

pattern 字段指定与值匹配的正则表达式。

Java JSON教程 - JSON Java

JSR 353解决了用于JSON处理的标准Java API,并作为JEE 7的一部分提供。

参考实现jsonp可以从https://jsonp.java.net/download.html下载。

要使用JSON Processing API编译应用程序,请在maven项目中声明对json-api的依赖关系。

api依赖不允许您运行应用程序。

<dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><version>1.0</version>
</dependency>

对于非Maven项目,JSON处理API jar(http://search.maven.org/remotecontent?filepath=javax/json/javax.json-api/1.0/javax.json-api-1.0.jar)可以是下载并包含在用于编译应用程序的类路径中。

要使用JSON Processing API运行应用程序,请在maven项目中声明对json-api实现的依赖。

<dependency><groupId>org.glassfish</groupId><artifactId>javax.json</artifactId><version>1.0.4</version>
</dependency>

对于非Maven项目,可以通过http://search.maven.org/remotecontent?filepath=org/glassfish/javax.json/1.0.4/ 下载JSON Processing RI jar并将其包含在类路径中以运行应用程序javax.json-1.0.4.jar。

GlassFish 4.0已经包括JSON实现。对于Web应用程序,我们不需要在战争中包含实现jar。

在开发应用程序期间声明具有提供的作用域的json-api依赖关系。

<dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><scope>provided</scope><version>1.0</version>
</dependency>

例1

以下代码显示了如何使用JsonReader将JSON数据读取到JSON对象模型。

import java.io.StringReader;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import javax.json.JsonValue;public class Main {public static void main(String[] args) {String personJSONData = "  {" +"   \"name\": \"Jack\", " +"   \"age\" : 13, " +"   \"isMarried\" : false, " +"   \"address\": { " +"     \"street\": \"#1234, Main Street\", " +"     \"zipCode\": \"123456\" " +"   }, " +"   \"phoneNumbers\": [\"011-111-1111\", \"11-111-1111\"] " +" }";JsonReader reader = Json.createReader(new StringReader(personJSONData));JsonObject personObject = reader.readObject();reader.close();System.out.println("Name   : " + personObject.getString("name"));System.out.println("Age    : " + personObject.getInt("age"));System.out.println("Married: " + personObject.getBoolean("isMarried"));JsonObject addressObject = personObject.getJsonObject("address");System.out.println("Address: ");System.out.println(addressObject.getString("street"));System.out.println(addressObject.getString("zipCode"));System.out.println("Phone  : ");JsonArray phoneNumbersArray = personObject.getJsonArray("phoneNumbers");for (JsonValue jsonValue : phoneNumbersArray) {System.out.println(jsonValue.toString());}}
}

读取数组

JsonReader reader = Json.createReader(new StringReader(personJSONData));
JsonArray personArray = reader.readArray();
reader.close();for (JsonValue jsonVal : personArray) {System.out.println(personObj.getValueType() + " - " + ((JsonObject) personObj).getString("name"));
}

例2

以下代码显示了如何使用JsonObjectBuilder和JsonArrayBuilder构建JSON对象

import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;public class Main {public static void main(String[] args) {JsonObject personObject = Json.createObjectBuilder().add("name", "John").add("age", 13).add("isMarried", false).add("address", Json.createObjectBuilder().add("street", "Main Street").add("city", "New York").add("zipCode", "11111").build()).add("phoneNumber", Json.createArrayBuilder().add("00-000-0000").add("11-111-1111").add("11-111-1112").build()).build();System.out.println("Object: " + personObject);}
}

例3

以下代码显示了如何使用JsonWriter序列化JSON对象。

import java.io.StringWriter;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonWriter;public class Main {public static void main(String[] args) {JsonObject personObject = Json.createObjectBuilder().add("name", "Jack").add("age", 13).add("isMarried", false).add("address", Json.createObjectBuilder().add("street", "Main Street").add("city", "New York").add("zipCode", "11111").build()).add("phoneNumber", Json.createArrayBuilder().add("00-000-0000").add("11-111-1111").add("11-111-1112").build()).build();StringWriter stringWriter = new StringWriter();JsonWriter writer = Json.createWriter(stringWriter);writer.writeObject(personObject);writer.close();System.out.println(stringWriter.getBuffer().toString());}}
关键字:宠物网站页面设计创意国外_一份完整app运营推广方案_互联网舆情监控系统_广州疫情最新情况

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: