How to store json data in a custom fieldtype so that it's data can be referenced as attribute values?
You already mentioned the related answer in custom fieldtype with multiple values, and it actually is perfect for your usecase.

It doesn't really matter how you transport the data over to Craft, because if the content is set to AttributeType::Mixed, then Craft will JSON encode/decode it when requested.

So, to save your data, send over an array, like so:

$stripeCustomer = [
    "id" =&gt; "cus_4v68MrZu3za8XT",
    "object" =&gt; "customer",
    "etc" =&gt; "etcetcetc"
    ];

// Transport $stripeCustomer to Craft with Ajax


In the context of Javascript, you'd send over the serialized form data.