Comments (4)
Although mapping works, it's annoying if your documents follow the element-attribute format, where it really makes way more sense to have the attribute kvs be added directly to the element object. Here's a quick working pr that makes this work #195
from xml-js.
I'm going to close this. I just realized I can easily use map
to create the output I want.
from xml-js.
@michaelgwelch , Can you share an example of how you used map
as I had previously many users asked for a similar result.
from xml-js.
@nashwaan Sure I can post the code I used. But others trying to follow my advice, my example is relatively simple.
The first thing I did was manually edit my JSON file so that instead of having something like
{
"a": [
{
"_attributes": {
"val": "5"
}
},
{
"_attributes": {
"val": "6"
}
}
]
}
I had
[
{
"_attributes": {
"val": "5"
}
},
{
"_attributes": {
"val": "6"
}
}
]
In other words, I removed the top level parent object, leaving me with just a JSON array. So applying map was quite simple. Assuming a file named events.json
the following bit of code should do the trick (assume a filename of convert.js
):
#!/usr/bin/evn node
const origEvents = require('./events.json');
const newEvents = origEvents.map( (val) => { return val["_attributes"] });
console.log(JSON.stringify(newEvents, null, 2))
Then from bash
$ chmod +x convert.js
$ ./convert.js > output.json
Note: my objects actually had dozens of fields, but for the sake of this example that isn't relevant. Just the shape of the JSON is what is relevant.
To recap:
I started with XML that had this shape:
<a val="5" />
<a val="6" />
Then I used xml-js
in compact mode to get the JSON at the top of this comment. Manually removed the parent object and then ran the map function.
from xml-js.
Related Issues (20)
- "'" being changed to single quote HOT 2
- How to traverse through every tag
- `attributeNameFn` callback receives an undefined attributeValue
- CRLF line endings cause scripts failures HOT 1
- _attributes gets added to _attributes?
- Empty String of nativeTypeAttributes converted zero HOT 3
- Removing all _cdata _attributes text
- XML-JS Empty xml files being made after conversion from .json file HOT 1
- Typescript: `_comment` does not accept string[]
- attributes escape character?
- Consider type "string" as a default for all the values
- Analysis: 100% of dependency updates in this repository can be merged. HOT 1
- XML > JSON: How do I 'intercept' processing of a specific node?
- JSON -> XML convert with CDATA support
- json to xml: Auto convert < to <
- return parsed object instead of string ? HOT 1
- No nativeTypeAttributes in index.d.ts
- Assignment I was given,kindly give me both the XML code to build the app interface and the java code to execute it
- Module not found: Error: Can't resolve 'buffer'
- xml-js trims off the spaces in the text following each other
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xml-js.