沃尔玛引入了新版本的Marketplace API模式(v4):https://developer.walmart.com/#/apicenter/marketPlace/latest#theItemObject 并且,与以前的版本不同,它仅提供JSON格式(以前的版本具有XSD模式)。 我想将模式转换为实体,但事实证明文件实际上不是经典的JSON Schema。 有人知道它是什么格式,是否有任何用于解析和转换它的工具?
模式示例: https://developer.walmart.com/xsd/marketplace/items/Spec-4.0/MP_ITEM_SPEC_4.0.json
{
"Headers": {
"key": "headers",
"name": "Headers",
"attributes": {
"requestId": {
"key": "request_id",
"name": "Request ID",
"xmlName": "requestId",
"requirementLevel": "Recommended",
"closedList": "N",
"multiSelect": "N",
"minDataLength": 1,
"maxDataLength": 64,
"isComplex": false,
"isChild": false,
"children": [
[
"Request ID",
"requestId"
]
],
"rank": 1000,
"dataType": "String",
"definitions": "Partner's ID of the feed, partner's ID to correlate feed and feed response.",
"dataDefinitions": "Alphanumeric, 64 characters - Partner's ID of the feed, partner's ID to correlate feed and feed response."
},
"requestBatchId": {
"key": "request_batch_id",
"name": "Request Batch ID",
"xmlName": "requestBatchId",
"requirementLevel": "Recommended",
"closedList": "N",
"multiSelect": "N",
"minDataLength": 1,
"maxDataLength": 64,
"isComplex": false,
"isChild": false,
"children": [
[
"Request Batch ID",
"requestBatchId"
]
],
"rank": 2000,
"dataType": "String",
"definitions": "Represents external generated batchId",
"dataDefinitions": "Alphanumeric, 64 characters - Represents external generated batchId"
},
"feedDate": {
"key": "feed_date",
"name": "Feed Date",
"xmlName": "feedDate",
"requirementLevel": "Recommended",
...
答案 0 :(得分:0)
该站点上的实际模式文件包含private ProgressFragment getProgressFragment() {
progressFragment = (ProgressFragment) fragmentManager.findFragmentByTag(ProgressFragment.TAG);
if (progressFragment == null) {
progressFragment = new ProgressFragment();
}
return progressFragment;
}
private void showProgress(String text) {
progressFragment = getProgressFragment();
if (!progressFragment.isAdded()) {
fragmentManager.beginTransaction().replace(R.id.container, progressFragment, ProgressFragment.T
TAG).commit();
}
if (progressViewModel == null) {
progressViewModel = new ViewModelProvider(this).get(ProgressViewModel.class);
}
progressViewModel.setText(text);
}
,指示正在使用的JSON模式版本。您粘贴的是一个示例有效负载,这就是为什么它看起来不像JSON Schema的原因。
答案 1 :(得分:0)
自从这篇文章发布以来,该架构已针对v4.0进行了重大更改
最新架构在这里https://developer.walmart.com/image/asdp/us/mp/item/spec/4.0/MP_ITEM_SPEC_4.0.json