Home / Function/ tokenize() — spring-boot Function Reference

tokenize() — spring-boot Function Reference

Architecture documentation for the tokenize() function in BasicJsonParser.java from the spring-boot codebase.

Function java GradlePlugin DslExtensions calls 4 called by 2

Entity Profile

Dependency Diagram

graph TD
  04504695_f953_1d2a_a975_574b64090b0d["tokenize()"]
  00dd5307_1f36_21f3_34e2_818549b6844e["parseListInternal()"]
  00dd5307_1f36_21f3_34e2_818549b6844e -->|calls| 04504695_f953_1d2a_a975_574b64090b0d
  ac13e46b_0c90_9e3c_0dd8_0607a0eded32["parseMapInternal()"]
  ac13e46b_0c90_9e3c_0dd8_0607a0eded32 -->|calls| 04504695_f953_1d2a_a975_574b64090b0d
  8820ce88_d773_df8a_70d2_17dd0f6d44a5["in()"]
  04504695_f953_1d2a_a975_574b64090b0d -->|calls| 8820ce88_d773_df8a_70d2_17dd0f6d44a5
  ae319b40_2d60_d4fd_1e52_41cd81712e8d["set()"]
  04504695_f953_1d2a_a975_574b64090b0d -->|calls| ae319b40_2d60_d4fd_1e52_41cd81712e8d
  29c3b50d_7586_5a04_52b1_e7d4249695e9["update()"]
  04504695_f953_1d2a_a975_574b64090b0d -->|calls| 29c3b50d_7586_5a04_52b1_e7d4249695e9
  62807bfc_2973_a331_63b7_993f7b468346["toggle()"]
  04504695_f953_1d2a_a975_574b64090b0d -->|calls| 62807bfc_2973_a331_63b7_993f7b468346
  style 04504695_f953_1d2a_a975_574b64090b0d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

core/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java lines 133–169

	private List<String> tokenize(String json) {
		List<String> list = new ArrayList<>();
		Tracking tracking = new Tracking();
		StringBuilder build = new StringBuilder();
		int index = 0;
		while (index < json.length()) {
			char ch = json.charAt(index);
			if (tracking.in(Tracked.ESCAPE)) {
				build.append(ch);
				index++;
				tracking.set(Tracked.ESCAPE, 0);
				continue;
			}
			switch (ch) {
				case '{' -> tracking.update(Tracked.OBJECT, +1);
				case '}' -> tracking.update(Tracked.OBJECT, -1);
				case '[' -> tracking.update(Tracked.LIST, +1);
				case ']' -> tracking.update(Tracked.LIST, -1);
				case '"' -> tracking.toggle(Tracked.VALUE);
			}
			if (ch == ',' && !tracking.in(Tracked.OBJECT, Tracked.LIST, Tracked.VALUE)) {
				list.add(build.toString());
				build.setLength(0);
			}
			else if (ch == '\\') {
				tracking.set(Tracked.ESCAPE, 1);
			}
			else {
				build.append(ch);
			}
			index++;
		}
		if (!build.isEmpty()) {
			list.add(build.toString().trim());
		}
		return list;
	}

Domain

Subdomains

Frequently Asked Questions

What does tokenize() do?
tokenize() is a function in the spring-boot codebase.
What does tokenize() call?
tokenize() calls 4 function(s): in, set, toggle, update.
What calls tokenize()?
tokenize() is called by 2 function(s): parseListInternal, parseMapInternal.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free