Ethereum 坚固性:存储JSON数据。使用结构类型比使用字符串有什么优势?

Ethereum 坚固性:存储JSON数据。使用结构类型比使用字符串有什么优势?,ethereum,solidity,Ethereum,Solidity,我必须在Solidity合同中存储JSON格式的数据。我不需要对数据进行任何操作。我只需要存储它,更新它,然后返回它 假设我有JSON格式的数据,例如: {'name': 'Nike', 'size':'12', 'color':'blue'} 我当前正在将数据作为字符串传递给构造函数: constructor(string _data) public { data = _data; } 并通过简单地替换整个字符串来更新数据: function updateData(string _da

我必须在Solidity合同中存储JSON格式的数据。我不需要对数据进行任何操作。我只需要存储它,更新它,然后返回它

假设我有JSON格式的数据,例如:

{'name': 'Nike', 'size':'12', 'color':'blue'}
我当前正在将数据作为字符串传递给构造函数:

constructor(string _data) public {
  data = _data;
}
并通过简单地替换整个字符串来更新数据:

function updateData(string _data) public {
  data = _data;
}
我正在讨论是否应该创建一个名为say“Shoe”的结构类型,并将每个属性作为参数传递:

constructor(string _name, uint size, string _color) public {
  Shoe memory newShoe = Shoe({
    name: _name,
    size: _size,
    color: _color
  })

  data = newShoe;
}

我永远不需要存储多个shoe对象,而且以字符串形式传递数据似乎更简单、更容易,但我想知道使用Struct类型是否有好处

以字符串形式传递数据似乎更合适,因为您不需要在合同中操纵它们。这将更容易,更不容易出现错误和bug。它也会更便宜的天然气方面,也就是说,如果你关心的天然气无论如何