
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
A utility to handle and transform loosely structured data into valid JSON strings. It offers an intuitive solution to ensure data consistency and compatibility, providing a safer alternative to using the Function constructor to obtain an object from a string.
You can install this module using npm or yarn, it's only 2.93 kB │ gzip: 1.32 kB:
npm i json-loose
# or
yarn add json-loose
Alternatively, you can also include this module directly in your HTML file from CDN:
| Type | URL |
|---|---|
| ESM | https://cdn.jsdelivr.net/npm/json-loose/+esm |
| CJS | https://cdn.jsdelivr.net/npm/json-loose/dist/index.cjs.js |
| UMD | https://cdn.jsdelivr.net/npm/json-loose/dist/index.umd.js |
The jsonLoose function takes an invalid JSON string as input and returns a JSON-like string representation of the transformed data.
import jsonLoose from 'json-loose'
const invalidJSON = `
{
name: 'Bambang Ekalaya',
username: "@palgunadi",
age: 30,
isStudent: true
}
`
const data = jsonLoose(invalidJSON)
// now you can `JSON.parse(data)`
console.log(data)
Yields:
{
"name": "Bambang Ekalaya",
"username": "@palgunadi",
"age": 30,
"isStudent": true
}
You can also specify an optional context object to transform Identifier values:
import jsonLoose from 'json-loose'
const invalidJSON = `
[
"foo",
true,
[1, 2, wife],
{
[n]: 'Bambang Ekalaya',
username: "@palgunadi",
age: 30,
address: [{city:city}, [country]],
skills: skills,
isStudent: true,
relation: {
wife: wife,
guru: guru,
[bar]: "qux"
},
},
],
`
const context = {
n: 'name',
skills: 'Archery',
city: 'Nishada',
country: 'Aravalli',
wife: 'Anggraini',
guru: 'Drona'
}
const data = jsonLoose(invalidJSON, context)
// now you can `JSON.parse(data)`
console.log(data)
Yields:
[
"foo",
true,
[1, 2, "Anggraini"],
{
"name": "Bambang Ekalaya",
"username": "@palgunadi",
"age": 30,
"address": [{ "city": "Nishada" }, ["Aravalli"]],
"skills": "Archery",
"isStudent": true,
"relation": { "wife": "Anggraini", "guru": "Drona", "bar": "qux" }
}
]
name hz min max mean p75 p99 p995 p999 rme samples
· json-loose 109,620.27 0.0077 0.7080 0.0091 0.0083 0.0168 0.0363 0.2052 ±1.19% 54811 fastest
· js-tokens 54,156.77 0.0116 24.3425 0.0185 0.0122 0.0247 0.0643 1.1352 ±15.68% 27267
We 💛 issues.
When committing, please conform to the semantic-release commit standards. Please install commitizen and the adapter globally, if you have not already.
npm i -g commitizen cz-conventional-changelog
Now you can use git cz or just cz instead of git commit when committing. You can also use git-cz, which is an alias for cz.
git add . && git cz
A project by Stilearning © 2023.
FAQs
Transforms loosely structured plain object strings into valid JSON strings
The npm package json-loose receives a total of 9,652 weekly downloads. As such, json-loose popularity was classified as popular.
We found that json-loose demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.