您的位置:

json格式使用java检验,json格式检测

json格式使用java检验,json格式检测

更新:

本文目录一览:

使用java解析json文件,将数据存入数据库

直接读写文件,再把读出来的文件内容格式化成json,再用JDBC、Mybatis或者其他框架将json数据存入数据库。

java怎么读取json格式的数据

java可以使用JSONObject和JSONArray来操作json对象和json数组,具体用法如下

1:java对象与json串转换:

java对象—json串:

JSONObject JSONStr = JSONObject.fromObject(object);

String str = JSONStr.toString();

json串—java对象:

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Object pojo = JSONObject.toBean(jsonObject,pojoCalss);

2:java数组对象与json串转换:

java数组—json串:

JSONArray arrayStr = JSONArray.fromObject(List?);

String str = arrayStr.toString();

json串—java数组:

JSONArray array = JSONArray.fromObject(str);

List? list = JSONArray.toList(array, ?.class);

java校验json数据是否合法要怎么写?数据是别的公司传过来的!

现在有很多JSON的工具包,可以将json字符串转换为json对象,你try/catch住你转换的代码,如果转换成功,则表示json是合法的,反之这表示json数据有问题。但要验证数据是否符合你的业务要求,需要你自己写方法验证。

JSON工具可以使用 Jackson,fastjson等,具体使用方法在网上搜索。

java校验json格式及内容

代码如下

import java.text.CharacterIterator;

import java.text.StringCharacterIterator;

public class JsonValidator {

private CharacterIterator it;

private char c;

private int col;

public JsonValidator(){

}

/**

* 验证一个字符串是否是合法的JSON串

*

* @param input 要验证的字符串

* @return true-合法 ,false-非法

*/

public boolean validate(String input) {

input = input.trim();

boolean ret = valid(input);

return ret;

}

private boolean valid(String input) {

if ("".equals(input)) return true;

boolean ret = true;

it = new StringCharacterIterator(input);

c = it.first();

col = 1;

if (!value()) {

ret = error("value", 1);

} else {

skipWhiteSpace();

if (c != CharacterIterator.DONE) {

ret = error("end", col);

}

}

return ret;

}

private boolean value() {

return literal("true") || literal("false") || literal("null") || string() || number() || object() || array();

}

private boolean literal(String text) {

CharacterIterator ci = new StringCharacterIterator(text);

char t = ci.first();

if (c != t) return false;

int start = col;

boolean ret = true;

for (t = ci.next(); t != CharacterIterator.DONE; t = ci.next()) {

if (t != nextCharacter()) {

ret = false;

break;

}

}

nextCharacter();

if (!ret) error("literal " + text, start);

return ret;

}

private boolean array() {

return aggregate('[', ']', false);

}

private boolean object() {

return aggregate('{', '}', true);

}

private boolean aggregate(char entryCharacter, char exitCharacter, boolean prefix) {

if (c != entryCharacter) return false;

nextCharacter();

skipWhiteSpace();

if (c == exitCharacter) {

nextCharacter();

return true;

}

for (;;) {

if (prefix) {

int start = col;

if (!string()) return error("string", start);

skipWhiteSpace();

if (c != ':') return error("colon", col);

nextCharacter();

skipWhiteSpace();

}

if (value()) {

skipWhiteSpace();

if (c == ',') {

nextCharacter();

} else if (c == exitCharacter) {

break;

} else {

return error("comma or " + exitCharacter, col);

}

} else {

return error("value", col);

}

skipWhiteSpace();

}

nextCharacter();

return true;

}

private boolean number() {

if (!Character.isDigit(c) c != '-') return false;

int start = col;

if (c == '-') nextCharacter();

if (c == '0') {

nextCharacter();

} else if (Character.isDigit(c)) {

while (Character.isDigit(c))

nextCharacter();

} else {

return error("number", start);

}

if (c == '.') {

nextCharacter();

if (Character.isDigit(c)) {

while (Character.isDigit(c))

nextCharacter();

} else {

return error("number", start);

}

}

if (c == 'e' || c == 'E') {

nextCharacter();

if (c == '+' || c == '-') {

nextCharacter();

}

if (Character.isDigit(c)) {

while (Character.isDigit(c))

nextCharacter();

} else {

return error("number", start);

}

}

return true;

}

private boolean string() {

if (c != '"') return false;

int start = col;

boolean escaped = false;

for (nextCharacter(); c != CharacterIterator.DONE; nextCharacter()) {

if (!escaped c == '\\') {

escaped = true;

} else if (escaped) {

if (!escape()) {

return false;

}

escaped = false;

} else if (c == '"') {

nextCharacter();

return true;

}

}

return error("quoted string", start);

}

private boolean escape() {

int start = col - 1;

if (" \\\"/bfnrtu".indexOf(c) 0) {

return error("escape sequence \\\",\\\\,\\/,\\b,\\f,\\n,\\r,\\t or \\uxxxx ", start);

}

if (c == 'u') {

if (!ishex(nextCharacter()) || !ishex(nextCharacter()) || !ishex(nextCharacter())

|| !ishex(nextCharacter())) {

return error("unicode escape sequence \\uxxxx ", start);

}

}

return true;

}

private boolean ishex(char d) {

return "0123456789abcdefABCDEF".indexOf(c) = 0;

}

private char nextCharacter() {

c = it.next();

++col;

return c;

}

private void skipWhiteSpace() {

while (Character.isWhitespace(c)) {

nextCharacter();

}

}

private boolean error(String type, int col) {

System.out.printf("type: %s, col: %s%s", type, col, System.getProperty("line.separator"));

return false;

}

public static void main(String[] args){

String jsonStr = "{\"website\":\"open-open.com\"}";

System.out.println(jsonStr+":"+new JsonValidator().validate(jsonStr));

}

}

json格式使用java检验,json格式检测

本文目录一览: 1、使用java解析json文件,将数据存入数据库 2、java怎么读取json格式的数据 3、java校验json数据是否合法要怎么写?数据是别的公司传过来的! 4、java校验js

2023-12-08
JSON格式检查详解

2023-05-20
java校验json格式,java判断json格式是否合法

2022-11-30
json格式解析java(json格式解析过长)

本文目录一览: 1、java怎么处理json格式数据 2、java解析json格式文件,再保存在数据库怎么做? 3、java 如何解析JSON 4、java中Json怎样解析数据? 5、java 解析

2023-12-08
json格式硬盘数据,数据库json格式

2022-11-24
json格式的java接口(java json数据格式)

本文目录一览: 1、java写一个用于接收json数据的接口 2、设计一个java接口,接收json,并且将处理结果按json的格式返回 3、web环境下,servlet如何设计java接口接收jso

2023-12-08
java转json,java转json格式

2023-01-09
mysqljson格式java(json书写格式)

2022-11-14
如何使用JSON格式验证数据

2023-05-18
详解JSON格式校验器

2023-05-17
java处理json格式数组(json数组转java数组)

本文目录一览: 1、java怎么将json对象转换成json数组 2、用Java语言:从下列Json数组中只展示“productTypeName=公路零担”的数据集? 3、java中把json怎么转换

2023-12-08
java对象键值对的键是json格式怎么办,json转键值对

2023-01-06
使用json格式与服务器交互,使用json格式与服务器交互文

2022-11-25
JSON格式在线校验

2023-05-20
java传json文件,json数据传输格式

2022-11-24
Mac Json格式化工具

2023-05-23
json接口样式(接口json格式)

本文目录一览: 1、java写一个用于接收json数据的接口 2、有比较流行的 JSON 接口格式规范么 3、.net 做的json接口 java写一个用于接收json数据的接口 java中的接口是一

2023-12-08
数据库json文件(保存json格式数据文件)

本文目录一览: 1、高斯数据库如何解析json 2、json 是什么文件 3、*.json文件如何打开 4、json是什么文件 5、json文件可以直接导入数据库吗 6、LowDB 轻量级 JSON

2023-12-08
java如何组织json格式(java如何生成json文件)

本文目录一览: 1、请问这样的json字符串应该怎样组织,用的java 2、JavaWeb项目中怎么将Jsp页面的数据转换成Json格式交互到后台对应Servlet类中 3、java怎么处理json格

2023-12-08
java中的json,java中的json是什么

2023-01-07