Skip to main content

Data exchange methods, JSON and APIs for QCE Digital Solutions Unit 4

Syllabus dot point

“Explain how data is exchanged between digital systems using structured formats such as JSON and XML, application programming interfaces (APIs) and network protocols, and the conditions required for reliable exchange”

QCEDigital SolutionsUnit 4: Digital impacts6 min read

Quick answer

Digital systems exchange data by serialising it into a structured, machine-readable format such as JSON or XML, sending it over a network protocol like HTTP through an API endpoint, and parsing it at the other end; reliable exchange needs an agreed format, an agreed protocol and validation so both systems interpret the data the same way.

Jump to a section
  1. What this dot point is asking
  2. Structured data formats
  3. APIs and requests
  4. Network protocols
  5. Conditions for reliable exchange
  6. How this appears in IA3
  7. Exam-style questions

What this dot point is asking

QCAA wants you to explain how separate digital systems move data between each other reliably. That means understanding structured data formats such as JSON and XML, how APIs let one system request data from another, the network protocols that carry the request, and the conditions (shared format, agreed protocol, validation) that make the exchange work. Unit 4 is about complex data exchange problems, so this is the foundation for IA3.

Structured data formats

Systems built by different developers, in different languages, need a shared text format so each can read the other's data. The two dominant formats are JSON and XML.

JSON (JavaScript Object Notation) is lightweight and the default for modern web APIs. It uses key-value pairs and arrays:

{
  "student_id": 1042,
  "name": "Priya Nguyen",
  "subjects": ["Digital Solutions", "Maths Methods"],
  "enrolled": true
}

XML (Extensible Markup Language) uses nested tags and is more verbose but supports richer metadata:

<student>
  <student_id>1042</student_id>
  <name>Priya Nguyen</name>
  <enrolled>true</enrolled>
</student>

Both are human-readable and language-independent, which is why they are the lingua franca of data exchange. JSON is usually preferred for its smaller size and direct mapping to objects and arrays.

APIs and requests

An API (application programming interface) is the contract that defines how one system asks another for data: which endpoints exist, what parameters they take and what they return. A web API is accessed over HTTP. The common request methods:

  • GET: retrieve data.
  • POST: send new data to be stored.
  • PUT/PATCH: update existing data.
  • DELETE: remove data.
Calling a web API from Python
import requests

response = requests.get("https://api.example.com/students/1042")

if response.status_code == 200:        # 200 = OK
    data = response.json()             # parse JSON into a dict
    print(data["name"])                # Priya Nguyen
else:
    print(f"Request failed: {response.status_code}")

The client sends a GET request to an endpoint, checks the HTTP status code (200 success, 404 not found, 401 unauthorised), then parses the JSON body into a usable object. The status-code check is what makes the exchange reliable rather than fragile.

Network protocols

A protocol is an agreed set of rules for how data is transmitted. Key ones for this dot point:

  • HTTP/HTTPS: carries web API requests; HTTPS adds encryption (see the data security dot points).
  • TCP/IP: the underlying transport that splits data into packets, routes them and reassembles them in order.

Both endpoints must speak the same protocol, or the exchange fails before any data is interpreted.

Conditions for reliable exchange

Reliable data exchange requires several conditions to hold simultaneously:

  • Agreed format: both systems serialise and parse the same structure (matching JSON schema or XML schema).
  • Agreed protocol: both use the same transport and request conventions.
  • Validation: the receiver checks incoming data for type, range and completeness before using it.
  • Error handling: status codes and timeouts are checked so a failed exchange does not corrupt state.

Missing any one of these turns a working exchange into a silent data-integrity problem.

Common traps
  • Assuming success. Not checking the HTTP status code means a 404 or 500 error is parsed as if it were valid data.
  • Format mismatch. Sending XML to an endpoint expecting JSON (or the wrong key names) breaks parsing even when the network works.
  • No validation on receipt. Trusting external data without checking type and range lets bad data into your system.
  • Confusing the format with the protocol. JSON is the data format; HTTP is the protocol that carries it. They are separate layers.
  • Ignoring encoding. Mismatched character encodings (not UTF-8 on both ends) corrupt names and symbols.

How this appears in IA3

IA3 is a digital solution centred on a complex data exchange. Markers expect you to choose an appropriate format and protocol, justify the choice against the requirements, validate incoming data, and handle exchange failures gracefully. Show the request, the parsed response and the validation step, and explain why your design exchanges data reliably and securely between the systems involved.

Exam-style questions

Questions in the style of QCAA exam questions on this dot point, each with a worked answer. They are written by ExamExplained unless tagged "Past paper"; the year shows the paper a question is modelled on.

Practice4 marks
A school voting system imports candidate details and nominations in XML format. In XML format, symbolise how data would be structured for 'Candidate X', who is in Year 11 and has been nominated for esports captain.
Show worked answer →

For 4 marks the marking guide rewards well-formed XML that captures every data item with correct nesting and matching tags. A model response:

<candidate>
  <name>Candidate X</name>
  <yearLevel>11</yearLevel>
  <nomination>esports captain</nomination>
</candidate>

Marks are awarded for: a root element such as candidate that contains the record [1 mark]; an element holding the candidate name [1 mark]; an element holding the year level (11) [1 mark]; and an element holding the nominated position (esports captain) [1 mark].

Markers reward valid XML conventions: every opening tag has a matching closing tag, elements are properly nested rather than overlapping, and tag names describe the data. Wrapping the candidate inside a parent such as a candidates list is also acceptable.

Practice6 marks
A match manager web app is described in the stimulus. Evaluate the stimulus to determine the data exchange components required for the app and explain the relationship between them.
Show worked answer →

Three marks are for determining the components and three for explaining the relationships, so name a three-part architecture and link the parts.

Components [3 marks]: a user interface (presentation) component, e.g. the user's device, browser and the front-end website built with HTML, CSS and JavaScript [1 mark]; a server interface (logic) component, e.g. the web server and server-side language such as PHP or Node.js [1 mark]; and a data interface (data) component, e.g. the database and its DBMS [1 mark].

Relationships [3 marks]: the user interacts with the user interface, which sends requests to the server interface [1 mark]; the server interface processes requests and manages communication between the user and the data [1 mark]; and when data is needed, the server queries the DBMS, which retrieves and returns it to be displayed [1 mark].

Markers reward a clear three-tier explanation showing how requests and data flow between the components.

Practise this

Sources & how we know this

ExamExplained