Knowledge Management

Upload json array to KVStore

potluri_88
Explorer

Hi,

I'm trying to upload a json array with multiple objects to a kvstore using curl command as below.

curl -k -u admin:**** https://localhost:8089/servicesNS/nobody/test/storage/collections/data/hosts -H 'Content-Type: application/json' -d '[{"env": "dev", "zone": "Z1"},{"env": "dev", "zone": "Z1"}]'

Error is as below
JSON in the request is invalid. (
JSON parse error at offset 0 of file "[ {"env": "dev", "zone": "Z1"},{ "env": "dev", "zone": "Z1"}]": Expecting an object but got an array.

How do upload multiple object json without using an array?

0 Karma
1 Solution

kamlesh_vaghela
SplunkTrust
SplunkTrust

@potluri_88

Have you tried batch_save ??

storage/collections/data/{collection}/batch_save

POST: Run one or more save (insert and replace) operations in a specific collection

Run multiple save operations:

Sample CURL Command:

curl -k -u admin:yourpassword \
    https://localhost:8089/servicesNS/nobody/kvstoretest/storage/collections/data/kvstorecoll/batch_save \
    -H 'Content-Type: application/json' \
    -d '[{"name": "Splunk Sweden"}, {"name": "Splunk Singapore"}]'

Check below link for more info:

http://dev.splunk.com/view/webframework-developapps/SP-CAAAEZG

Thanks

View solution in original post

0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@potluri_88

Have you tried batch_save ??

storage/collections/data/{collection}/batch_save

POST: Run one or more save (insert and replace) operations in a specific collection

Run multiple save operations:

Sample CURL Command:

curl -k -u admin:yourpassword \
    https://localhost:8089/servicesNS/nobody/kvstoretest/storage/collections/data/kvstorecoll/batch_save \
    -H 'Content-Type: application/json' \
    -d '[{"name": "Splunk Sweden"}, {"name": "Splunk Singapore"}]'

Check below link for more info:

http://dev.splunk.com/view/webframework-developapps/SP-CAAAEZG

Thanks

0 Karma

potluri_88
Explorer

This really helped @kamlesh_vaghela .. thanks for your time..

Cheers!!

0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

Glad to help you @potluri_88

!!Happy Splunking!!

0 Karma

bjoernjensen
Contributor

Hi,

Since your collection expects a certain JSON object you have to use curl multiple times.

What should not work: using an object that contains your array that contains your objects.

Maybe that helps,
Björn

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Agentic SOC Triage: Investigating Splunk ES Notables with MCP Server and a Local LLM

The Problem: Too Many Alerts, Too Little Context Security operations teams running Splunk Enterprise Security ...

All Work and No Play? Not at .conf26! Unwind at These Evening Events

Between hands-on technical sessions, keynote reveals, and diving into live architectures, .conf26 is packed ...

Join the Hackathon at .conf26 and build a No-Code AI agent

Join us for the AI Agent Buildathon, an in-person, three-hour hands-on Hackathon where you’ll use Splunk Agent ...