JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
2 months ago0 views
👨‍💻Programming
import json
from datetime import datetime

def iso_to_epoch_ms(iso_str):
    """
    Convert ISO 8601 timestamp to milliseconds since epoch
    """
    dt = datetime.fromisoformat(iso_str.replace("Z", "+00:00"))
    return int(dt.timestamp() * 1000)


def convertFromFormat1(obj):
    """
    Convert data from format 1 to unified format
    """
    parts = obj["location"].split("/")

    return {
        "deviceID": obj["deviceID"],
        "deviceType": obj["deviceType"],
        "timestamp": obj["timestamp"],
        "location": {
            "country": parts[0],
            "city": parts[1],
            "area": parts[2],
            "factory": parts[3],
            "section": parts[4]
        },
        "data": {
            "status": obj["operationStatus"],
            "temperature": obj["temp"]
        }
    }


def convertFromFormat2(obj):
    """
    Convert data from format 2 to unified format
    """
    return {
        "deviceID": obj["device"]["id"],
        "deviceType": obj["device"]["type"],
        "timestamp": iso_to_epoch_ms(obj["timestamp"]),
        "location": {
            "country": obj["country"],
            "city": obj["city"],
            "area": obj["area"],
            "factory": obj["factory"],
            "section": obj["section"]
        },
        "data": {
            "status": obj["data"]["status"],
            "temperature": obj["data"]["temperature"]
        }
    }


def main():
    """
    Read input files, normalize data, and print unified output
    """
    with open("data-1.json") as f1, open("data-2.json") as f2:
        data1 = json.load(f1)
        data2 = json.load(f2)

    result = []

    # Handle format 1
    if isinstance(data1, dict):
        result.append(convertFromFormat1(data1))
    else:
        for item in data1:
            result.append(convertFromFormat1(item))

    # Handle format 2
    if isinstance(data2, dict):
        result.append(convertFromFormat2(data2))
    else:
        for item in data2:
            result.append(convertFromFormat2(item))

    print(json.dumps(result, indent=2))


if __name__ == "__main__":
    main()

⚠️Content was pasted as plain text and auto-formatted as a code block. Use the Code Block button in the editor for proper formatting.

← Back to timeline