stdVBA icon indicating copy to clipboard operation
stdVBA copied to clipboard

stdJSON - Add serialiser/parser callback param

Open sancarn opened this issue 5 months ago • 0 comments

Called on every value during serialise/parsing

stdJSON.CreateFromVariant([
 Range<$A1:$A2>,
 Range<$A7:$A9>
], myPreProcessor)

function myPreProcessor(v: Variant): Variant{
   if (typeof v is Range) {
    return {
      type: "Range",
      address: v.address
    }
  }
}

and same for parsing:

stdJSON.CreateFromString(`
  [
    {"type":"Range","address":"$A1:$A2"},
    {"type":"Range","address":"$A7:$A9"}
  ]
`, myPostProcessor)

function myPostProcessor(v: stdJSON):Variant {
  if (v.type == eJSONObject){
    if (v.exists("type")){
      switch(v.type){
        case "Range":
          return MyWorksheet.Range(v.address) 
      }
    }
  }
}

sancarn avatar Jul 25 '25 17:07 sancarn