如何解析从JSON到JavaScript对象的字符串Map?[已关闭]

zaqlnxep  于 2023-03-04  发布在  Java
关注(0)|答案(1)|浏览(118)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
我有一个响应格式像下面来自后端API.

{
record_type: type_1
"record_text": "AAA000000010000000101020220903600666                          XXXXX001 0000000002023020309011920230203160120AF9E4E032XXXXXXX/XXXX/XXXXXXXX/XXXX_XXXXX/XXX/XXXXXXXXXXXXX/AAAA_BBB_C/FFFFFF/PPPPP/XXX002.600666.AF9YYYYYYXXXXX.0001                                                                                                                                                                                             00000000001                     600666                          20780553560249002Y00998010000                              001                                                                                                                                                                                                                                                "
}

我还有一个解析record_text的布局图。我有3种不同的record_type,每种都有不同的布局图。我在下面举了一个例子。在这3种类型之间,总共会有70-100个不同长度的字段。

type_1
   string(3) var1;
   decimal(8, 0) var2;
   decimal(8, 0) var3;
   string(3) var4;
   date("YYYYMMDD") var5; 
   string(32) var6;
   string(9) var7;
   decimal(9, 0) var8;
   string(8) var9;
   string(6) var10;
   date("YYYYMMDD") var11;
   datetime("HH24MISS") var12;
   string(14) var13;
   string(1) var14;
   string(1) var15;
   string(250) var16;
   string(40) var17;
   string(32) var18;
   string(32) var19;
   datetime("YYYYMMDDHH24MISS") time = "";
   string(3) var20; 
   string(1) var21; 
   string(3) var22 = ""; 
   string(8) var23; 
   date("YYYYMMDD") var24 = ""; 
   string(14) var25 = ""; 
   date("YYYYMMDD") var26 = "";  
   string(3) var28 = "000"; 
   string(240) var29 = "";

我需要解析这个后端响应来创建一个JS对象,如下所示:

{
var1: "AAA",
var2: "00000001",
var3: "00000001",
var4: "0102022",
etc.
}

做这件事的最好方法是什么?
是否有类似于https://beanio.org/的java节点包可以使用?
我知道我可以定制自己的解析器函数,但是从可维护性/可重用性的Angular 来看,由于字段的剪切数量,这似乎并不理想,所以我想知道是否有一个更干净的方法。

bzzcjhmw

bzzcjhmw1#

看起来你只需要根据字符的位置把字符串分成几个部分,如果我没理解错的话,那么string.substring()应该很适合这项工作。

// get the data from your API
const response = await fetch(url);
const jsonObj = await response.json(); // { record_text: "AAA0000000100000001"}

// get just the property value
const recordText = jsonObj.record_text;

// add string parts to object props
const returnObject = {
    record: recordText.substring(0,2),
    recordNumber: recordText.substring(3,10),
    sequenceNumber: recordText.substring(11,18),
}

相关问题