Git Product home page Git Product logo

Comments (1)

mihaitodor avatar mihaitodor commented on July 26, 2024

Hey @BlueCanary-DM, thanks for raising this issue. Please try the following code and let me know if it needs any adjustments:

package main

import (
	"encoding/json"
	"fmt"
	"log"

	"github.com/Jeffail/gabs/v2"
)

const (
	jsonData = `{
		"etag": "\"098f6bcd4621d373cade4e832627b4f6\"",
		"items": [
		  {
			"actor": {
			  "email": "[email protected]",
			  "profileId": "1111111"
			},
			"etag": "\"c4ca4238a0b923820dcc509a6f75849b\"",
			"events": [
			  {
				"name": "edit",
				"parameters": [
				  {
					"boolValue": true,
					"name": "primary_event"
				  },
				  {
					"name": "doc_id",
					"value": "randomID1"
				  },
				  {
					"name": "doc_type",
					"value": "spreadsheet"
				  },
				  {
					"name": "doc_title",
					"value": "Document1"
				  },
				  {
					"name": "owner",
					"value": "[email protected]"
				  }
				],
				"type": "access"
			  }
			],
			"id": {
			  "applicationName": "drive",
			  "customerId": "aaaaabbbb",
			  "time": "2022-01-26T19:11:33.213Z",
			  "uniqueQualifier": "1111111"
			},
			"ipAddress": "127.0.0.1",
			"kind": "admin#reports#activity"
		  },
		  {
			"actor": {
			  "email": "[email protected]",
			  "profileId": "222222"
			},
			"etag": "\"c81e728d9d4c2f636f067f89cc14862c\"",
			"events": [
			  {
				"name": "edit",
				"parameters": [
				  {
					"boolValue": true,
					"name": "primary_event"
				  },
				  {
					"name": "doc_id",
					"value": "randomID2"
				  },
				  {
					"name": "doc_type",
					"value": "spreadsheet"
				  },
				  {
					"name": "doc_title",
					"value": "Document2"
				  },
				  {
					"name": "owner",
					"value": "[email protected]"
				  }
				],
				"type": "access"
			  }
			],
			"id": {
			  "applicationName": "drive",
			  "customerId": "aaaaabbbb",
			  "time": "2022-01-26T19:11:33.213Z",
			  "uniqueQualifier": "1111111"
			},
			"ipAddress": "127.0.0.1",
			"kind": "admin#reports#activity"
		  }
		],
		"kind": "admin#reports#activities"
	  }`
)

func main() {
	jsonObj, err := gabs.ParseJSON([]byte(jsonData))
	if err != nil {
		log.Fatalf("Failed to parse input JSON: %s", err)
	}

	outputObj := map[string]interface{}{}

	for idx, item := range jsonObj.Path("items").Children() {
		outputObj[fmt.Sprintf("Event %d", idx+1)] = item
	}

	out, err := json.MarshalIndent(outputObj, "", "  ")
	if err != nil {
		log.Fatalf("Failed to marshal output: %s", err)
	}

	fmt.Println(string(out))
}

from gabs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.