You can build a package by including your XML content, update filters and deploy using the package manager, to build a package you can follow either manually or via code, if it is a one time operation then the manual approach is ok.
You can also modify your JSON as JCR expected JSON format and import via curl command.
https://gist.github.com/joemaffia/87f8328eed1810a93260
if you want to have great control over the pages which you are going to create then you need to go with page manager API's, you don't need to convert your JSON to XML, instead of that you can directly read your exported JSON and create pages.
Sample code:
String pagePath = "/content/toolkit/en/";
String pageName = "home";
String templatePath = "/apps/toolkit/templates/page-home";
String pageTitle = "home page";
Page newPage;
ResourceResolverFactory resourceResolverFactory = getSlingScriptHelper()
.getService(ResourceResolverFactory.class);
Map<String, Object> authInfo = new HashMap<>();
authInfo.put(ResourceResolverFactory.SUBSERVICE, "createService");
ResourceResolver resolver = resourceResolverFactory.getServiceResourceResolver(authInfo);
Session session = resolver.adaptTo(Session.class);
try {
newPage = getPageManager().create(pagePath, pageName, templatePath, pageTitle);
if (newPage != null) {
user = resolver.getUserID();
Node newNode = newPage.adaptTo(Node.class);
Node cont = newNode.getNode("jcr:content");
if (cont != null) {
Node rootNode = session.getRootNode();
String path = rootNode.getPath();
Node parNode = JcrUtils.getNodeIfExists(cont, "par");
Node imageNode = JcrUtils.getOrCreateByPath(parNode.getPath() + "/image",
JcrConstants.NT_UNSTRUCTURED, session);
Node textNode = JcrUtils.getNodeIfExists(parNode, "text");
imageNode.setProperty("sling:resourceType", "foundation/components/image");
imageNode.setProperty("fileReference", "/content/dam/we-retail-screens/we-retail-instore-logo.png");
textNode.setProperty("text", "<p>This page is created using page manager</p>");
session.save();
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}