【问题标题】:String parsing and getting array index from a text string字符串解析并从文本字符串中获取数组索引
【发布时间】:2019-05-24 19:02:34
【问题描述】:

我解析了一个嵌套的 Json 文件,该文件具有嵌套的对象和数组,并在 Map(String, Object) 中得到结果。我能够得到的结果:

RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[0].Base.DecimalPlaces RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[0].Base.AmountBeforeTax RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[0].EffectiveDate RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[0].RateTimeUnit RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].RateMode RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].UnitMultiplier RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].Base.CurrencyCode RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].Base.DecimalPlaces RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].Base.AmountBeforeTax RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].EffectiveDate RoomStays.RoomStay.RoomRates.RoomRate[15].Rates.Rate[1].RateTimeUnit RoomStays.RoomStay.RoomRates.RoomRate[15].AvailabilityStatus RoomStays.RoomStay.RoomRates.RoomRate[15].NumberOfUnits RoomStays.RoomStay.RoomRates.RoomRate[15].Total.CurrencyCode

我现在需要知道索引号,例如 15 是 RoomStays.RoomStay.RoomRates.RoomRate 的索引。帮助表示赞赏。提前致谢。

【问题讨论】:

  • 问题不清楚,你想要什么?我还认为这个问题将受益于您的 JSON 样本,也许还有一些用于定义 RoomStays 结构的代码。

标签: java string hash


【解决方案1】:

假设您的 RoomRate 数组没有重复率,则此方法有效。如果将getArrayIndex 函数传递给RoomRate 数组以及您想要索引的RoomRate 实例,它将返回索引。

    public static void main(String[] args) {

        int[] RoomRate = new int[3];    
        RoomRate[0] = 5;
        RoomRate[1] = 10;
        RoomRate[2] = 20;

        int index = getArrayIndex(RoomRate, RoomRate[1]);

        System.out.println(index);
    }

    private static int getArrayIndex(int[] RoomRate, int instance) {        
        int index = 0;      
        for (int i = 0; i < RoomRate.length; i++) {         
            if (RoomRate[i] == instance) {
                index = i;
                break;
            }           
        }
        return index;
    }

【讨论】:

  • 既然你有提供者的答案,也许你可以解释这个问题,因为我们至少有两个人不知道被问到什么。
猜你喜欢
  • 2021-05-08
  • 1970-01-01
  • 2019-07-22
  • 2015-08-06
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
相关资源
最近更新 更多